有没有办法在 java 中创建原始 int 或任何原始列表,如下所示?
List<int> myList = new ArrayList<int>();
看来我可以做到 List myList = new ArrayList();
并将“int”添加到此列表中。但这意味着我可以将任何内容添加到此列表中。
我唯一的选择是创建一个 int 数组并将其转换为一个列表还是创建一个 Integer 对象列表?
原文由 Susie 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有办法在 java 中创建原始 int 或任何原始列表,如下所示?
List<int> myList = new ArrayList<int>();
看来我可以做到 List myList = new ArrayList();
并将“int”添加到此列表中。但这意味着我可以将任何内容添加到此列表中。
我唯一的选择是创建一个 int 数组并将其转换为一个列表还是创建一个 Integer 对象列表?
原文由 Susie 发布,翻译遵循 CC BY-SA 4.0 许可协议
不,在使用 Java 集合框架时,没有任何集合可以包含原始类型。
但是,还有其他支持原始类型的 java 集合,例如: Trove 、 Colt 、 Fastutil 、 Guava
以下是使用 Trove Library 时带有整数的数组列表的示例:
TIntArrayList list= new TIntArrayList();
与来自 Java Collections 的 Integers ArrayList 相比,此列表的性能要好得多,因为不需要对相应的 Integer Wrapper Class 进行自动装箱/拆箱。
原文由 Mike B 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
在 Java 中,任何变量的类型要么是原始类型,要么是引用类型。泛型类型参数必须是引用类型。由于原语不扩展
Object
它们不能用作参数化类型的泛型类型参数。而是使用
Integer
类,它是int
的包装器:如果您使用 Java 7,您可以使用菱形运算符简化此声明:
使用 Java 中的自动装箱,原始类型
int
将在必要时变为Integer
。所以以下是有效的: