如何遍历包含对象的 LinkedList - Java
How to Iterate through LinkedList that contains Object - Java
如何遍历我添加了对象的 LinkedList?
private LinkedList sensors = new LinkedList();
enter code here
//Constructor for my class is taking three arguments
public Sensor(int ID, String Name, String comments) {
this.ID = ID;
this.NAME = Name;
this.COMMENTS = comments;
}
//Then I query the database to get the values of the variables to create a new Object
ID = Integer.parseInt(dbResult.getString("sensorID") );
NAME = dbResult.getString("sensorName");
COMMENTS = dbResult.getString("sensorcomments");
//create a new sensor object
Sensor newSensor = new Sensor(ID, NAME, COMMENTS);
//add the sensor to the list
addSensor(newSensor);
`
我遇到的问题是我可以将传感器对象添加到链接列表中,但是当我尝试遍历它时,我得到的是一个引用而不是对象或其值。
//display the results of the Linked List
System.out.println(Arrays.toString(sensors.toArray()));
我得到的输出是
[传感器@4d405ef7,传感器@6193b845,传感器@2e817b38,传感器@c4437c4,传感器@433c675d,传感器@3f91beef]
谢谢
您的 Sensor
class 中需要一个 toString()
方法。
@Override
public String toString() {
return "id: "+ID+"; name: "+NAME+"; comments: "+ COMMENTS;
}
Arrays.toString(Object[] a)
将调用每个 Sensor
对象的 toString()
方法。
这是一个更完整的 Sensor
class 示例,其中包含建议的变量名称更改:
class Sensor {
private int id;
private String name;
private String comments;
public Sensor(int id, String name, String comments) {
this.id = id;
this.name = name;
this.comments = comments;
}
@Override
public String toString() {
//You can change how to the string is built in order to achieve your desired output.
return "id: "+ID+"; name: "+name+"; comments: "+ comment;
}
}
如何遍历我添加了对象的 LinkedList?
private LinkedList sensors = new LinkedList();
enter code here
//Constructor for my class is taking three arguments
public Sensor(int ID, String Name, String comments) {
this.ID = ID;
this.NAME = Name;
this.COMMENTS = comments;
}
//Then I query the database to get the values of the variables to create a new Object
ID = Integer.parseInt(dbResult.getString("sensorID") );
NAME = dbResult.getString("sensorName");
COMMENTS = dbResult.getString("sensorcomments");
//create a new sensor object
Sensor newSensor = new Sensor(ID, NAME, COMMENTS);
//add the sensor to the list
addSensor(newSensor);
` 我遇到的问题是我可以将传感器对象添加到链接列表中,但是当我尝试遍历它时,我得到的是一个引用而不是对象或其值。
//display the results of the Linked List
System.out.println(Arrays.toString(sensors.toArray()));
我得到的输出是 [传感器@4d405ef7,传感器@6193b845,传感器@2e817b38,传感器@c4437c4,传感器@433c675d,传感器@3f91beef]
谢谢
您的 Sensor
class 中需要一个 toString()
方法。
@Override
public String toString() {
return "id: "+ID+"; name: "+NAME+"; comments: "+ COMMENTS;
}
Arrays.toString(Object[] a)
将调用每个 Sensor
对象的 toString()
方法。
这是一个更完整的 Sensor
class 示例,其中包含建议的变量名称更改:
class Sensor {
private int id;
private String name;
private String comments;
public Sensor(int id, String name, String comments) {
this.id = id;
this.name = name;
this.comments = comments;
}
@Override
public String toString() {
//You can change how to the string is built in order to achieve your desired output.
return "id: "+ID+"; name: "+name+"; comments: "+ comment;
}
}