[Java] 编程思想 - 泛型

avatarplhDigital nomad

泛型处理两种不同接口的数据类型

public class RandomList<T> {
    private ArrayList<T> storage = new ArrayList<>();
    private Random rand = new Random(47);
    public void add(T item) {
        storage.add(item);
    }
    public T select() {
        return storage.get(rand.nextInt(storage.size()));
    }
    public static void main(String[] args) {
        RandomList<String> rs = new RandomList<>();
        RandomList<Integer> ri = new RandomList<>();
        RandomList<Object> ro = new RandomList<>();
        for (String s : "The quick brown fox jumps over the lazy dog".split(" ")) {
            rs.add(s);
            ro.add(s);
        }
        ri.add(12);
        ro.add(12);
        for (int i = 0; i < 11; i++) {
            System.out.println(rs.select() + " ");
        }
    }
}