This question already has answers here:
How do I print my Java object without getting “SomeType@2f92e0f4”?
(10个答案)
去年关闭。
当我尝试显示元素时,它们的数字地址为(mykitchen.Alimento@10a6cf9e)。我会显示类似:
名称:...
数量:...
对于链接列表中的每个元素
谢谢!
您也可以在类中为
(10个答案)
去年关闭。
public class Alimento {
private String nome;
private int quantità;
private String scadenza;
private String tipo;
Alimento(JTextField txt_nome, JTextField txt_quantità, JTextField txt_scadenza, JTextField txt_tipo) {
setNome(txt_nome.getText());
setQuantità(Integer.parseInt(txt_quantità.getText()));
setScadenza(txt_scadenza.getText());
setTipo(txt_tipo.getText());
/*System.out.println(getNome());
System.out.println(getQuantità());
System.out.println(getScadenza());
System.out.println(getTipo());*/
}
public String getNome(){
return nome;
}
public int getQuantità(){
return quantità;
}
public String getScadenza(){
return scadenza;
}
public String getTipo(){
return tipo;
}
public String setNome(String name){
return nome = name;
}
public int setQuantità(int quant){
return quantità = quant;
}
public String setTipo(String type){
return tipo = type;
}
public String setScadenza(String scad){
return scadenza = scad;
}
}
public class Dispensa{
LinkedList<Alimento> dispensa = new LinkedList<>();
public Dispensa(){}
public void add(Alimento alimento){
dispensa.add(alimento);
}
public void showList(){
for (int i = 0; i < dispensa.size(); i++)
System.out.println(dispensa);
}
}
当我尝试显示元素时,它们的数字地址为(mykitchen.Alimento@10a6cf9e)。我会显示类似:
名称:...
数量:...
对于链接列表中的每个元素
谢谢!
最佳答案
像mykitchen.Alimento@10a6cf9e
这样获得对象引用是正常的,因为您在System.out.println(dispensa);
行中为对象调用了toString方法,dispensa
对象是List
对象的alimento
,因此必须获取使用dispensa.get(index)
在循环中的alimento对象,调用所需的getter。喜欢 :
public void showList(){
for (int i = 0; i < dispensa.size(); i++)
{
Alimento alimento = dispensa.get(i);
System.out.println(alimento.getNome());
}
}
您也可以在类中为
toString()
定义Alimento
,这样就不必调用getNome()
。09-28 12:59