Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从ArrayList返回值_Java_Arraylist - Fatal编程技术网

Java 从ArrayList返回值

Java 从ArrayList返回值,java,arraylist,Java,Arraylist,我让这段代码为一个数组工作……然后重新阅读指令,找到它特别需要一个数组列表。我似乎无法将下面的方法转换为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(intA

我让这段代码为一个数组工作……然后重新阅读指令,找到它特别需要一个数组列表。我似乎无法将下面的方法转换为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; 
}   
publicstaticintreturnmin(arraylistintarr)
{//返回最小值。
int minValue=intArr.get(0);
对于(int i=1;i
尝试按中的方式强制转换检索到的对象

int minValue = (Integer) intArr.get(0);
再加上

if((Integer)intArr.get(i) > minValue)

尝试按中的方式强制转换检索到的对象

int minValue = (Integer) intArr.get(0);
再加上

if((Integer)intArr.get(i) > minValue)

在方法声明中,更改:

..(ArrayList intArr){
..(ArrayList intArr){

这将使
intArr
中的元素成为整数,而不是
对象。要了解java中泛型的更多信息,请查看。

在方法声明中,更改:

..(ArrayList intArr){
..(ArrayList intArr){

这将使
intar
Integer
s中的元素不是
对象
s。要了解java中泛型的更多信息,请查看。

由于ArrayList仅使用int值,您应该在方法参数中指定ArrayList的类型:

publicstaticintreturnmin(arraylistintarr){
.
.
.
}

为什么要指定类型?

如果不指定,ArrayList将接受任何值(字符串、整数和任何其他值),因此在使用ArrayList.get(0)时您不知道处于该位置的是什么类型,这就是为什么在您的示例中必须将其转换为整数的原因。通常,当您仅使用一种类型时,您应该指定列表的类型以避免这种情况

泛型教程:

由于ArrayList仅适用于int值,因此应在方法参数中指定ArrayList的类型:

publicstaticintreturnmin(arraylistintarr){
.
.
.
}

为什么要指定类型?

如果不指定,ArrayList将接受任何值(字符串、整数和任何其他值),因此在使用ArrayList.get(0)时您不知道处于该位置的是什么类型,这就是为什么在您的示例中必须将其转换为整数的原因。通常,当您仅使用一种类型时,您应该指定列表的类型以避免这种情况

泛型教程:

如果您发布了错误消息,它与不兼容的类型有关——对象无法转换为int minValue=intArr.get(0),则会有所帮助;^二进制运算符“@archimot”的操作数类型错误。您可能希望使用类型化集合。例如,ArrayList。与错误类型有关。我无法将其转换为ArrayList…即使ArrayList始终引用整数,但它不喜欢任何试图说它是inte的东西ger(int-minValue=intar.get(0)或intar.get(i)minValue)更新了我的答案,但正如@km1所提到的,如果你使用泛型或者使用泛型,那么你就不必强制转换。returnMin(ArrayList intArr)@scarywombat使用你的建议,我认为这只是在比较中有一个错误--if(intArr.get(I)>minValue)更新了我的答案,但正如@km1所提到的,如果使用泛型会更好