gpt4 book ai didi

java - 如何在 Java 中正确重写 toString() ?

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:11 25 4
gpt4 key购买 nike

听起来有点愚蠢,但我需要有关我的 toString() 方法的帮助,这非常烦人。我尝试在网上查找,因为 toString 是一个搞砸的地方,并且“找不到 Kid 构造函数#2”,即使它在那里,我什至会做其他事情,但它不起作用。好的,这是很多,所以这是我的代码:

import java.util.*; 
class Kid {
String name;
double height;
GregorianCalendar bDay;

public Kid () {
this.name = "HEAD";
this.height = 1;
this.bDay = new GregorianCalendar(1111,1,1);
}

public Kid (String n, double h, String date) {
// method that toString() can't find somehow
StringTokenizer st = new StringTokenizer(date, "/", true);
n = this.name;
h = this.height;
}

public String toString() {
return Kid(this.name, this.height, this.bDay);
}
} //end class

好吧,所以我上面的 toString (我知道,我的第三个参数是关闭的,应该是一个字符串)关闭了。如果我为第三件事硬编码一个值,它就会变得困惑并说它找不到这个(上面)。那么我怎样才能获取日期并将其分解呢?

调用此的类在下面

class Driver {   
public static void main (String[] args) {
Kid kid1 = new Kid("Lexie", 2.6, "11/5/2009");
System.out.println(kid1.toString());
} //end main method
} //end class

我尝试研究多个构造函数,但确实没有帮助。我尝试研究 toString() 方法,并尝试使用我之前创建的 toString() 方法逻辑,但这是全新的,因此从未起作用。

帮忙?

最佳答案

toString 应该返回一个 String

public String toString() { 
return "Name: '" + this.name + "', Height: '" + this.height + "', Birthday: '" + this.bDay + "'";
}

我建议您利用 IDE 的功能来生成 toString 方法。不要手动编码。

例如,如果您只需右键单击源代码并选择源 > 生成 toString,Eclipse 就可以执行此操作

关于java - 如何在 Java 中正确重写 toString() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47834254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com