列表<long[]> 方法类型应返回什么?



有人能解释一下这种类型的方法应该返回什么吗?

public static List<long[]> removNb(long input) {

我已经和这个问题斗争了很长时间。在我的方法中,这个ArrayListList<Long>result=new ArrayList<>();保存了返回数据,但我不明白返回应该是什么样子,就像我试图返回一样,它抛出了一个错误error: incompatible types: List<Long> cannot be converted to List<long[]>。我在网上搜索过,但没有找到任何东西。我从未见过此列表<长[]>之前long之后的这些[]大括号是什么?由于我的锻炼条件不允许,我无法更改函数原型。我尝试过创建长数组并使用Arrays.asList方法,但没有帮助,或者我用错了。

希望你们能帮助我。提前谢谢。和平与爱!

在Java中,[]表示一个简单的数组,因此long[]是一个包含long元素的数组。List<long[]>是存储long[]元素的列表,因此该列表的每个元素都是包含long元素的数组。所以,你需要创建这样的结果:

public static List<long[]> removNb(long input) {
List<long[]> result = new ArrayList<>();
long[] myLongArray = {input};
result.add(myLongArray);
return result;
}

它是long[]List,即基元类型为long的数组(不要将其与Long包装器混淆(。例如,以下是如何构建一个具有预期返回类型的有效对象:

List<long[]> list = new ArrayList<>();
long[] array = new long[1];
array[0] = 42L
list.add(array);

List<long>是一个列表,其中每个元素都是长类型的。

CCD_ 15是其中每个元素都是长类型的数组的列表。

List<long[]> list = new ArrayList<long[]>();
long[] arr = new long[] {1L, 2L};
list.add(arr);

它是基元类型长数组(long[](的列表(list<>(

请参阅示例,它将为您提供有关长数组返回类型列表的概念。

import java.util.ArrayList;
import java.util.List;
public class ListOfLongArray {
public static List<long[]> removNb(long input) {
long[] arrayOfLong1={1L,2L};
long[] arrayOfLong2={3L,4L};
List<long[]> listOfLongArray=new ArrayList<>();
listOfLongArray.add(arrayOfLong1);
listOfLongArray.add(arrayOfLong2);
return listOfLongArray;
}
public static void main(String[] args) {
List<long[]> listOfLongArray=removNb(2L);
for (long[] longs:listOfLongArray) {
for (Long l: longs) {
System.out.print(l+"t");
}
System.out.println(); //new line
}
}
}

最新更新