- Java泛型的核心概念:告诉编译器想使用什么类型,然后编译器帮你处理一切细节。
//: generics/Holder3.java public class Holder3<T> { private T a; public Holder3(T a) { this.a = a; } public void set(T a) { this.a = a; } public T get() { return a; } public static void main(String[] args) { Holder3<Automobile> h3 = new Holder3<Automobile>(new Automobile()); Automobile a = h3.get(); // No cast needed // h3.set("Not an Automobile"); // Error // h3.set(1); // Error } } ///:~
-
类型变量如上例所示,在类名的后面,用<>括起来。泛型类可以有多个类型变量。可以用具体的类型来替换类型变量来实例化泛型类型。换句话说,泛型类相当于普通类的工厂。
-
泛型方法可以在普通类中定义,也可以在泛型类中定义。
-
有时,类或方法需要对类型变量加以约束。
-
不能用基本类型实例化类型参数。其原因就在于类型擦除。
-
不能创建参数化类型的数组。
-
不能实例化参数类型。不能实例化泛型数组。
-
不能抛出或捕获泛型类的实例。
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交