作为我的项目的一部分,我必须创建一个循环来重复将对象添加到我的队列中
这是代码
for(int rabbitcounter=0; rabbitcounter<30;rabbitcounter++) {
yettoracequeue.add(new Rabbits("Rabbit" + rabbitcounter, Math.random()*100));
System.out.println(yettoracequeue);
System.out.println(rabbitcounter);
我总是使用 System.out.println 来检查事情是否按预期进行。
但是当 System.out.println 执行上面时,它给了我
[queuepart.Rabbits@7852e922]
代替兔子 1。
使用上面的内容,我尝试使用以下行从 Rabbits 类中调用 getName() 方法
System.out.println(queuepart.Rabbits@7852e922.getName());
但它给出了错误。据我了解,这是因为该对象尚未初始化。
这是我的兔子类(class)
package queuepart;
public class Rabbits {
// properties of rabbits
private double speed;
private String name;
//private int counter = 1;
//Constructor, must be name of object
public Rabbits() {
}
public Rabbits(String name, double speed) {
this.name = name;
this.speed = speed;
//counter++;
}
//Speedgetter
public double getSpeed() {
return speed;
}
//Namegetter
public String getName() {
return name;
}
//Speedsetter
public void setSpeed (double speed) {
this.speed = speed;
}
//Namesetter
public void setName(String name) {
this.name = name;
}
}
我认为我仍然能够使用错误提供的名称继续项目的下一步,但项目的结论要求我拥有正确的兔子名称,例如兔子 1、兔子 2 等
谢谢您,并对这么长的帖子表示歉意。 :)
最佳答案
您应该覆盖toString() Rabbits
类中的方法
@Override
public String toString() {
return name;
}
关于java - 出现 hashcode 而不是 int,对象名称未正确显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36427437/