我想修改 Lombok @ToString 的格式,使其表现得像 IDEA 生成的 toString 代码。没有可用的选项,所以我尝试修改 Lombok 源代码 lombok.javac.handlers.HandleToString.java。我想获得父母的领域,直到 Object 然后用“,”加入它们,但我找不到实现它的方法。
现在只能勉强通过递归和String.substring的方法来实现,但不是很通用。用我修改后的 Lombok 反编译结果之一如下:
public String toString() {
String varSuperToString = super.toString();
int varStart = varSuperToString.indexOf("{") + 1;
int varEnd = varSuperToString.lastIndexOf("}");
String varSuperSub = "";
try {
varSuperSub = varSuperToString.substring(varStart, varEnd);
} catch (StringIndexOutOfBoundsException var6) {
}
if (!varSuperSub.isEmpty()) {
varSuperSub = varSuperSub + ", ";
}
return "NonEmptyChild_NonEmptyParent{" + varSuperSub + "email=" + this.email + ", " + "city=" + this.city + "}";
}
Run Code Online (Sandbox Code Playgroud)
Lombok 的 …