有没有办法将 ArrayList 作为参数传递给方法?这是我到目前为止没有工作的内容:
int[] exampleMethod(ArrayList<int> exampleList) {
}
任何帮助是极大的赞赏!
有没有办法将 ArrayList 作为参数传递给方法?这是我到目前为止没有工作的内容:
int[] exampleMethod(ArrayList<int> exampleList) {
}
任何帮助是极大的赞赏!
替换int
为Integer
then 它会很好地工作:)
所以它会是
int[] exampleMethod(ArrayList<Integer> exampleList) {
}
请记住,集合总是期望包装类而不是原始数据类型。
int
是原始数据类型并且Integer
是它的包装类。
使用包装类:
int[] exampleMethod(ArrayList<int> exampleList) {
}
List<E>
不能采用原始数据类型int
,因此我们提供了它们的包装类型,例如Integer
. 您还可以传递List<Integer>
接口类型而不是实现类型以实现重用性。
在此处阅读Oracle 教程。
是的。
使用包装类。
int[] exampleMethod(ArrayList<Integer> exampleList) {
}
尝试这个
int[] exampleMethod(ArrayList<Integer> exampleList) {
}
如前所述,您必须使用包装类
int[] foo(List<Integer> oArray)
{
}
int
是原始类型,因此您不能在List
. 这也适用于其他原始类型,如,char
等。在所有这些情况下,当您在需要对象的地方使用它们时,您必须使用它们的类对应物(例如在 a 中)。boolean
float
Map
正如您在我的示例中看到的,您应该List<Integer>
在方法中接受 a 而不是ArrayList
. ArrayList
是一个专门的类,所以当你限制它时,ArrayList
你只能接受这个类型,而如果你使用接口 typem,你可以接受任何类型,List
你的代码应该仍然可以工作。