eclipse中的toString

fas*_*ava 3 java eclipse templates tostring

toString方法是在eclipse中生成的,如下所示:

StringBuilder builder = new StringBuilder();
builder.append("Person [");
if (firstName != null)
    builder.append("firstName=").append(firstName).append(", ");
if (lastName != null)
    builder.append("lastName=").append(lastName).
if (title != null)
    builder.append("title=").append(title).append(", ");
if (car != null)
    builder.append("car=").append(car).append(", ");
    builder.append("]");
Run Code Online (Sandbox Code Playgroud)

他们为什么不使用更短的形式,例如

builder.append("firstName=" + firstName + ", ");
Run Code Online (Sandbox Code Playgroud)

是为了节省String创作时间吗?

如何将模板更改为此格式?

${object.className} [${member.name()}=${member.value}, ${otherMembers}]
Run Code Online (Sandbox Code Playgroud)

Maa*_*wes 6

第一种形式的速度要快得多 - 在其他形式StringBuilder中,在字节代码中创建了额外的形式.通常,除非在紧密循环中执行字符串创建,否则这并不重要.

至于第二个问题,你有什么尝试?