从ArrayList返回值

时间:2016-04-28 02:23:38

标签: java arraylist

我有这个代码用于数组...然后重新阅读指令,找到它专门调用数组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; 
}   

3 个答案:

答案 0 :(得分:2)

尝试按

中的方式转换检索到的对象
int minValue = (Integer) intArr.get(0);

再次使用

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

答案 1 :(得分:1)

在方法声明中,更改:
...(ArrayList intArr) { ...(ArrayList<Integer> intArr) {。这将使intArr Integer中的元素成为Object s而不是unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type StaticArray = Array[0..1000] of Double; TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; DArray: Array of StaticArray; Length : Integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Length:=5; Setlength(DArray, Length); end; end. 。要了解有关Java中泛型的更多信息,请查看The Java™ Tutorials on Generics

答案 2 :(得分:0)

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

public static int returnMin(ArrayList<Integer> intArr) { . . . }

为什么要指定类型?

如果你没有指定,你的ArrayList将接受任何值(String,Integers和任何其他值),所以当你使用arrayList.get(0)时,你不知道该位置是什么类型,那是为什么在你的例子中你必须将它转换为Integer。总是当您只使用一种类型时,您应该指定列表的类型以避免这种情况。

泛型教程:
https://docs.oracle.com/javase/tutorial/java/generics/why.html