[java]泛型的理解

list

list类似数组的功能. 特点是可变长.

单纯的下面使用方法, 是没什么问题

ArrayList list = new ArrayList();
list.add(10);
list.add("m1");
System.out.println(list);//[10, m1]
for (Object o : list) {
    System.out.println(o);
}

如果做一些转换操作, 可能出现转换错误

        for (Object o : list) {
            Integer i = (Integer)o;//java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
            System.out.println(i); 
        }

普通变量定义引出泛型

容器里放值

        String name;
        name = "mao";//已规定了容器里

容器里套容器,放值. 需要约束值得类型 怎么办?
定义 容器>容器 的时候,就规定底层容器存的值得类型.

ArrayList<String> arr = new ArrayList<>();

这种说法就是泛型.

泛型即可广泛,不确定的类型. 说的是外层容器可以存多种内部类型. 使用来规定内部类型该用什么类型.

猜你喜欢

转载自www.cnblogs.com/iiiiiher/p/12808086.html