java - 出现 hashcode 而不是 int,对象名称未正确显示?

标签 java

作为我的项目的一部分,我必须创建一个循环来重复将对象添加到我的队列中

这是代码

  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/

相关文章:

java - 在 Java 中将 boolean 值转换为 BitSet

java - 使用maven将war文件使用HTTPS部署到tomcat

java - Math.random() 和精度损失的好奇心

java - 如何在 JScrollPane 中显示项目列表?

Java - 继承的方法com.example.project.ConcreteA无法隐藏com.example.project.MyInterface中的抽象方法

java - 二传手不工作

java - Mac 上的 Java 未检测到 Tab 键

Java 字符串和字符串池

java - 如何使用 PageObject 模式改进我的测试?

java - 服务未注册 : org. OpenUDID.OpenUDID_manager@2b038438