我有一个 Java POJO 类,其中包含一些数据成员以及 getter 和 setter。
Class TestClass {
private member1, member2, member3; //assuming I have 3 members
// Getters and setters are declared
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class TestClass{\n");
sb.append(member1 == null ? "null" : member1.toString.replace("\n", "\n ");
sb.append(member2 == null ? "null" : member2.toString.replace("\n", "\n ");
sb.append(member2 == null ? "null" : member2.toString.replace("\n", "\n ");
sb.append("}");
return sb.toString();
}
toString 中编写的逻辑必须在我的许多 POJO 类中重复。我可以将逻辑作为静态方法编写在单独的实用程序类中,例如:
public static String toStringMethod(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
并替换我的 POJO 类的 toString 中的代码?
如果您只想用以下内容替换换行符,那么可以。改进一下,toStringMethod的返回值应该使用replaceAll而不是replace。 如果你想让每个 POJO 的 toString 都调用 toStringMethod,不幸的是这是不可能的,因为 POJO.toString 调用了 toStringMethod,而且你还看到 toStringMethod 调用了 POJO.toString,由于循环方法依赖而导致堆栈溢出。一般来说,toString可以使用IDEA自动生成,也可以使用LomBok的@AKS类进行注释