泛型

编译时候的安全检测机制,将参数泛化

如arryalist就使用了泛型的技术

在创建时候可以指定存储的类型

        ArrayList<Object> l = new ArrayList<>();

还可以指定返回的泛型,属性类型等,使用很广。

主要是用于编译时候检测,操作的类型是否一致

注意java的泛型是一种语法糖,不是真正的泛型,可以使用反射绕过泛型

    public static void main(String[] args) throws Exception {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        Method add = list.getClass().getMethod("add", Object.class);
        add.invoke(list,"str");
        System.out.println(list);
        System.out.println(list.get(1));
    }
    print 
    [1, str]
    str

Last updated

Was this helpful?