ArrayList source中不允许使用基元类型。部分解决方案:您可以将诸如int之类的prim.types包装到Integer以形成一个额外的类,但会产生副作用。我想索引数据,是否可以替代允许基本类型的ArrayList?

最佳答案

您正在使用什么版本的Java?

由于1.5自动装箱使得此问题无济于事。

你可以这样做:

List<Integer> x = Arrays.asList(1, 2, 3);

x.get(0) == 1;  // this is true  **WARNING** comments have pointed out this only works for Integers -128 to 127 due to integer caching.  Use .equals

int foo = x.get(1);  // this doesn't need a cast

x.add(4);  // this doesn't need to be wrapped

09-10 11:43
查看更多