【发布时间】:2022-09-29 11:02:31
【问题描述】:
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() 的值。为什么我在这里得到空值?我使用字符串缓冲区来附加字符串,但我可以将值作为字符串返回。
-
你永远不会初始化
test1 -
这里没有使用
sub。 -
您的 toString() 几乎没有问题。
标签: java string nullpointerexception null tostring