-6

有没有办法将 ArrayList 作为参数传递给方法?这是我到目前为止没有工作的内容:

int[] exampleMethod(ArrayList<int> exampleList) {

}

任何帮助是极大的赞赏!

4

5 回答 5

2

替换intIntegerthen 它会很好地工作:)
所以它会是

int[] exampleMethod(ArrayList<Integer> exampleList) {

}

请记住,集合总是期望包装类而不是原始数据类型。
int是原始数据类型并且Integer是它的包装类。

于 2013-07-17T05:37:01.317 回答
1

使用包装类:

int[] exampleMethod(ArrayList<int> exampleList) {

}

List<E>不能采用原始数据类型int,因此我们提供了它们的包装类型,例如Integer. 您还可以传递List<Integer>接口类型而不是实现类型以实现重用性。

在此处阅读Oracle 教程

于 2013-07-17T05:35:59.933 回答
1

是的。

使用包装类。

int[] exampleMethod(ArrayList<Integer> exampleList) {

}
于 2013-07-17T05:35:56.023 回答
1

尝试这个

int[] exampleMethod(ArrayList<Integer> exampleList) {


    }
于 2013-07-17T05:38:11.353 回答
1

如前所述,您必须使用包装类

 int[] foo(List<Integer> oArray)
 {
 }

int是原始类型,因此您不能在List. 这也适用于其他原始类型,如,char等。在所有这些情况下,当您在需要对象的地方使用它们时,您必须使用它们的类对应物(例如在 a 中)。booleanfloatMap

正如您在我的示例中看到的,您应该List<Integer>在方法中接受 a 而不是ArrayList. ArrayList是一个专门的类,所以当你限制它时,ArrayList你只能接受这个类型,而如果你使用接口 typem,你可以接受任何类型,List你的代码应该仍然可以工作。

于 2013-07-17T05:38:53.367 回答