有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将ArrayList传递给方法?

有没有办法将ArrayList作为参数传递给方法?以下是到目前为止我得到的不起作用的东西:

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

}

非常感谢您的帮助


共 (5) 个答案

  1. # 1 楼答案

    Integer替换int,那么它肯定会工作:)
    所以应该是

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

    请记住,集合总是需要包装类,而不是原始数据类型
    int是原始数据类型,Integer是它的包装类

  2. # 2 楼答案

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

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

    int是一个基本类型,因此不能在List中使用它。这也适用于其他基本类型,如charbooleanfloat等。在所有这些情况下,当在需要对象的地方使用它们时,必须使用它们的类对应项(例如在Map

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

  3. # 3 楼答案

    试试这个

    int[] exampleMethod(ArrayList<Integer> exampleList) {
    
    
        }
    
  4. # 4 楼答案

    使用包装器类:

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

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

    在这里读Oracle tutorials

  5. # 5 楼答案

    Yss

    使用包装器类

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