Java 确实<;字符串>;有什么事吗?

Java 确实<;字符串>;有什么事吗?,java,generics,primitive-types,Java,Generics,Primitive Types,List可以使用或不使用,但List不能使用。我一直想知道这一点。您不能使用基本类型(byte,short,int,)。您必须使用包装器类型,在本例中,包装器类型为Integer List<Integer> 列表 这种类型的转换称为泛型,您可以开始学习更多关于它们的知识 列表(和其他集合)只能保留对象,不能保留基元类型。因此,您可以使用List,但不能使用List字符串也是一个对象-这就是它工作的原因 关于列表和列表之间的差异:这种差异只存在于编译过程中。在运行时,所有两个列表都

List
可以使用或不使用,但
List
不能使用。我一直想知道这一点。

您不能使用基本类型(
byte
short
int
,)。您必须使用包装器类型,在本例中,包装器类型为
Integer

List<Integer>
列表
这种类型的转换称为泛型,您可以开始学习更多关于它们的知识

列表(和其他集合)只能保留对象,不能保留基元类型。因此,您可以使用
List
,但不能使用
List
<代码>字符串也是一个对象-这就是它工作的原因


关于
列表
列表
之间的差异:这种差异只存在于编译过程中。在运行时,所有两个列表都是相同的。

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

有没有什么?这可能是因为String是一个类,int是一个本机类型?哦,太晚了3秒^^b/c你不能将java.lang.Object转换为可能的重复,谢谢。所以它只是将其转换为字符串对象类型?@CoolBeans:这没有意义。如果使用泛型,则不需要强制转换。这就是重点。编译器将插入类型转换,并通过类型检查保证不存在ClassCastException。而获得ClassCastException的唯一方法是进行强制转换。@EJP:你说得对。我的评论是倒退的。我的意思是说你不应该列出some=newarraylist();不指定类型(泛型或非泛型)。我将删除我的评论。谢谢