Java中哪种数据类型返回“ ArrayList ”方法数据类型?

问题描述 投票:-1回答:4

当我尝试返回整数时,编译器抱怨:

“必需类型:ArrayList java.lang.Integer”

public ArrayList<Integer> myMethod(Integer i) {
    ArrayList<Integer> arrayList = new ArrayList<>();
    arrayList.add(5);

    Integer myInteger = arrayList.get(1);

    return myInteger;
}

我知道方法“ myMethod”表示对ArrayList的引用,但是什么表示ArrayList为self?

一个更好的例子:

ArrayList arrayList (){
    return null;
}

方法“ arrayList()”具有哪种数据类型?

java arraylist types
4个回答
0
投票

ArrayList应该返回int类型。另外,由于arrayList在添加一个整数之前为空,所以myInteger应该获得索引0,因为索引1还不存在。因此,myInteger应该如下所示:

int myInteger = arrayList.get(0);

0
投票

我猜编译器会抱怨,因为您返回的是类型为Integer而不是ArrayList<Integer>的对象>


0
投票

您将返回一个Integer而不是ArrayList,请尝试将您的返回类型更改为Integer或在您的代码中返回“ arrayList”。


0
投票

问题是当方法签名指出应返回Integer时,您正在返回ArrayList<Integer>。您需要将代码更改为以下任意一项:

public Integer myMethod(Integer i) {
    ArrayList<Integer> arrayList = new ArrayList<>();
    arrayList.add(i);

    Integer myInteger = arrayList.get(0);

    return myInteger;
}

public ArrayList<Integer> myMethod(Integer i) {
    ArrayList<Integer> arrayList = new ArrayList<>();
    arrayList.add(i);

    return arrayList;
}
© www.soinside.com 2019 - 2024. All rights reserved.