在eclipse中生成了toString方法,如下所示:
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("]");
为什么他们没有使用更多的简短形式,例如
builder.append("firstName=" + firstName + ", ");
是否可以节省创建String
的时间?
如何将模板更改为此格式?
${object.className} [${member.name()}=${member.value}, ${otherMembers}]
答案 0 :(得分:6)
第一种形式的速度要快得多 - 在其他形式中,在字节代码中创建了额外的StringBuilder
。一般来说,除非在紧密循环中执行字符串创建,否则这并不重要。
至于第二个问题,你有什么尝试?
答案 1 :(得分:2)
builder.append("firstName=" + firstName + ", ");
的效率严格低于Eclipse使用的形式,因为它创建了一个中间String
,然后立即被丢弃。
答案 2 :(得分:0)
除非我误解了这个问题,否则你可以在Eclipse Preferences中更改模板:Java - >代码风格 - >代码模板。