我正在阅读泛型类型。我能够理解泛型类型可用于指定对象或集合可以使用的内容类型,以避免运行时错误并仅在编译时解决它。
我想知道如何创建一个类型变量(T = List)为List的泛型类。例如,在下面的例子中它的字符串。
import java.util.ArrayList;
import java.util.List;
public class Test<T> {
T string;
public Test(T in) {
this.string = in;
}
public static void main(String args[]) {
Test<String> o = new Test<String>("Generic");
}
}
答案 0 :(得分:2)
我想知道如何创建一个类型变量的泛型类(T = List)是List。
将List
指定为参数化类型。
要进行List<String>
的通用测试,例如:
List<String> myList = new ArrayList<>();
...
Test<List<String>> o = new Test<>(myList);
答案 1 :(得分:1)
如果您希望列表严格地是字符串列表。然后,只需将您的列表声明为List<String>
答案 2 :(得分:1)
以这种方式迫使开发人员使用属于Collection es的类(List,ArrayList,Vector,...)
public class Test<T extends Collection>{ ... }
<强>更新强>
public class Test<E,T extends Collection<E>>{ ... }
答案 3 :(得分:1)
将你的T定义为List的扩展 改变这个:
public class Test<T> {
到这个
public class Test<T extends List> {
在这种情况下,您将无法写下:
Test<String> o = new Test<String>();