<string>可以做什么吗?</string>

时间:2011-01-31 01:00:19

标签: java generics primitive-types

List<String>可以使用或不支持,但List<int>不支持。我一直都在想这个。

3 个答案:

答案 0 :(得分:5)

您不能使用原始类型(byteshortintetc。)。您必须使用包装器类型,在本例中为Integer

List<Integer>

这种类型的转换称为泛型,您可以开始更多地了解它们here

答案 1 :(得分:3)

List<int>不起作用,因为Java泛型不处理基本类型 - 只有对象(或其子类,如Integer)。在使用泛型类时,不需要指定类型参数,但编译器将发出警告,并且您将需要处理所有类型转换(包括处理潜在的ClassCastExceptions)等自己。

答案 2 :(得分:2)

列表(和其他集合)只能保留对象,而不是基本类型。因此,您可以使用List<Integer>但不能使用List<int>String也是一个对象 - 这就是它起作用的原因。

关于ListList<String>之间的区别:差异仅在编译期间存在。在运行时,所有两个列表都是相同的。