为什么Java泛型不支持基本类型?

问题描述 投票:236回答:6

为什么Java中的泛型只能用于类而不适用于原始类型?

例如,这很好用:

List<Integer> foo = new ArrayList<Integer>();

但是不允许这样做:

List<int> bar = new ArrayList<int>();
java generics primitive
6个回答
243
投票

Java中的泛型是一个完全编译时的结构-编译器将所有泛型使用转换为正确的类型。这是为了保持与以前的JVM运行时的向后兼容性。

此:


36
投票

在Java中,泛型的工作方式与它们的工作方式……至少部分相同,因为在设计语言后数年将它们添加到了语言中[[1


11
投票
public class Container<T> { private T data; public T getData() { return data; } }

将在运行时显示为,


7
投票

4
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.