繁体   English   中英

从ArrayList返回值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM