Java 在guava中,Lists.newArrayList()和例如Ints.asList()对于基元类型有什么区别(如果有的话)

Java 在guava中,Lists.newArrayList()和例如Ints.asList()对于基元类型有什么区别(如果有的话),java,guava,Java,Guava,我一直在使用番石榴制作列表: List<Integer> foo = Lists.newArrayList(1, 2, 3); 那么,对于int这样的基元类型,这两者之间有什么区别呢?基元不适用于泛型。这个 List<Integer> foo = Lists.newArrayList(1, 2, 3); 只会产生将三个参数包装在int[]中的成本,因为int[]是参数类型。返回的列表是固定大小的原语不适用于泛型。这个 List<Integer> foo =

我一直在使用番石榴制作列表:

List<Integer> foo = Lists.newArrayList(1, 2, 3);

那么,对于int这样的基元类型,这两者之间有什么区别呢?

基元不适用于泛型。这个

List<Integer> foo = Lists.newArrayList(1, 2, 3);

只会产生将三个参数包装在int[]中的成本,因为int[]是参数类型。返回的列表是固定大小的

原语不适用于泛型。这个

List<Integer> foo = Lists.newArrayList(1, 2, 3);
只会产生将三个参数包装在int[]中的成本,因为int[]是参数类型。返回的列表是固定大小的

最好将Ints.asList等视为数组的等价物。asList在基本数组上工作,因为Array.asList不能满足您的需要。最好将Ints.asList等视为数组的等价物,因为Array.asList不能满足您的需要也许你想和他们在一起。
List<Integer> foo = Lists.newArrayList(1, 2, 3);
List<Integer> bar = Ints.asList(1, 2, 3);