提问人:ramulu 提问时间:9/21/2022 最后编辑:Dr Midoramulu 更新时间:9/29/2022 访问量:73
toString() 给出 null 值,为什么?
toString() givies null value and why?
问:
public class TestString {
public Test test1;
@Override
public String toString() {
StringBuilder sub = new StringBuilder();
sub.append(test1);
sub.append("care ful with NPE");
return test1 +"care ful with NPE";
}
public static void main(String[] args) {
final TestString testToString = new TestString();
System.out.println(testToString);
}
}
public class Test {
private final String fieldName;
public Test() {
fieldName = "";
}
public Test(String fieldName) {
this.fieldName = fieldName;
}
public String toString() {
StringBuilder sub = new StringBuilder();
sub.append("xxxasd");
return "xxxasd";
}
public int hashCode() {
return fieldName.hashCode();
}
}
如何获取test1 toString()的值,为什么我在这里得到null值?我使用字符串缓冲区来附加字符串,但我可以将值作为字符串返回。
答:
-1赞
Szellem
9/21/2022
#1
对我来说,它打印出来是可以理解的,因为它从未初始化过,所以它的值是,而 a 的 String 表示形式是 。nullcare ful with NPE
test1
null
null
Object
"null"
评论
test1
sub