我可以在 java POJO 类中使用其他类的方法吗?

问题描述 投票:0回答:1

我有一个 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 中的代码?

java model duplicates pojo
1个回答
0
投票

如果您只想用以下内容替换换行符,那么可以。改进一下,toStringMethod的返回值应该使用replaceAll而不是replace。 如果你想让每个 POJO 的 toString 都调用 toStringMethod,不幸的是这是不可能的,因为 POJO.toString 调用了 toStringMethod,而且你还看到 toStringMethod 调用了 POJO.toString,由于循环方法依赖而导致堆栈溢出。一般来说,toString可以使用IDEA自动生成,也可以使用LomBok的@AKS类进行注释

© www.soinside.com 2019 - 2024. All rights reserved.