Java 访问数组列表中的对象数据
我有一个包含三个对象的数组列表(骑士) 现在,也许我想访问第二个对象的颜色属性,我该怎么做 当我使用:Java 访问数组列表中的对象数据,java,arrays,list,object,Java,Arrays,List,Object,我有一个包含三个对象的数组列表(骑士) 现在,也许我想访问第二个对象的颜色属性,我该怎么做 当我使用: System.out.println(arraylist.toString()); 我只得到: [Knight@28d93b30, Knight@1b6d3586, Knight@4554617c] 使用System.out.println(arraylist.toString())打印的是arraylist包含的对象 要访问对象双色,您要做的是: System.out.println(a
System.out.println(arraylist.toString());
我只得到:
[Knight@28d93b30, Knight@1b6d3586, Knight@4554617c]
使用
System.out.println(arraylist.toString())
打印的是arraylist包含的对象
要访问对象双色,您要做的是:
System.out.println(arraylist.getIndex(0).getColor);
getColor
假设您有一个用于color属性的getterArrayList
类包含方法get(int)
,该方法允许您指定一个(基于零的)索引并从列表中检索相应的项
要获取列表中的第二个对象,应使用以下命令:
Knight secondKnight = arrayList.get(1);
然后,您可以访问由Knight
类定义的任何可访问的方法或类字段,例如颜色
(因为索引是从零开始的,如果你想得到第一个
骑士
,你应该使用arrayList.get(0)
)如果你想输出骑士的颜色,你需要覆盖toString()
为了这样做,你会想做如下的事情(类似于C++中的输出运算符重写,如果你熟悉它)。
方法一 必须使用get(inti)方法,该方法在数组列表的索引处检索对象,然后可以使用“.field”访问该对象的字段 考虑下面的场景,它将类似于你正在做的,你有一个骑士类 我将使用外星人类:
public class Alien{
//Properties of aliens
int numOfFingers;
String name;
String color;
public Alien(int num, String name, String color)
{
this.numOfFingers = num;
this.name = name;
this.color = color;
}
}//End of alien class
包含数组列表的类:
import java.util.ArrayList;
public class DetailExtractor {
//ArrayList containing alien objects
static ArrayList<Alien> alienRegister = new ArrayList<>();
public static void main(String[] args){
//Populating the arrayList
alienRegister.add(new Alien(3, "Zorg", "Blue"));
alienRegister.add(new Alien(5, "Chad", "Purple"));
//Retrieving a property, say name of second alien...
System.out.println(alienRegister.get(1).name);
}
}
假设你在骑士类中有一些颜色的公共getter,这将起作用。类似于-
class Knight {
....
String color;
....
....
public String getColor() {
return color;
}
}
arrayList.get(index)
U还可以重写toString方法以接收比'Knight@28d93b30'
@Override
public String toString(){
//code to get required string followed by a return statement
}
String color = arraylist.get(1).getColor();
class Knight {
....
String color;
....
....
public String getColor() {
return color;
}
}