publicclass RandomSelection<T>{ private java.util.Random random =new Random(); private ArrayList<T> list; public RandomSelection() { list =new ArrayList<T>(); } publicvoid add(T element) { list.add(element); } public T getRandomElement() { int index = random.nextInt(list.size()); return list.get(index); } }
直接來使用。當我們new RandomSelection<String>() new RandomSelection<Integer>() 的時候,里面的方法的類型,也就確定了。
publicinterface ISomeReason<X extends Enum<X>>{ public X getImplClassType(); }