[英]Returning values from an ArrayList
我让这段代码适用于Array ...然后重新阅读说明以找到专门用于数组LIST的指令。 我似乎无法将下面的方法转换为ArrayList可接受的格式...请协助我更改字词的方式...请参见以下示例方法:
public static int returnMin(ArrayList intArr)
{ //Return the Min Value.
int minValue = intArr.get(0);
for(int i=1;i < intArr.size(); i = i+1){
if(intArr.get(i) < minValue)
{ minValue = intArr.get(i);
}
}
return minValue;
}
尝试投射按以下方式检索的对象
int minValue = (Integer) intArr.get(0);
并再次
if((Integer)intArr.get(i) > minValue)
在方法声明中,更改:
...(ArrayList intArr) {
至 ...(ArrayList<Integer> intArr) {
。
这将使intArr
Integer
的元素成为Object
的元素。 要了解有关Java中泛型的更多信息,请参阅《泛型Java™教程》 。
由于ArrayList仅适用于int值,因此应在方法参数中指定ArrayList的类型:
public static int returnMin(ArrayList<Integer> intArr) { . . . }
为什么要指定类型?
好吧,如果您未指定,则ArrayList将接受任何值(字符串,整数和任何其他值),因此当您使用arrayList.get(0)时,您不知道该位置是什么类型,这就是为什么在您的示例中必须将其转换为Integer。 总是只使用一种类型时,应指定列表的类型以避免这种情况。
泛型教程:
https://docs.oracle.com/javase/tutorial/java/generics/why.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.