Lint报告StringBuilder影响性能

在我的项目上,我只是做了一个LINT检查,到目前为止我很满意。 但我很好奇,为什么LINT报告说,使用StringBuilder是慢?

我前一段时间从Eclipse切换到Android Studio,那些通过eclipse生成的toString()方法得到了一些更好的debugging输出:

@Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append("param1"); builder.append(param1); builder.append(", param2"); builder.append(param2); builder.append("param3"); .... return builder.toString(); } 

在工作室里,它报道了“用StringreplaceStringBuilder”。 从我的angular度来看,一个StringBuilder总是更快,更友善的GC方法。 还是那个DEX有些聪明的东西我不知道?

我searchLINT检查没有任何描述

简单的答案是,尽pipe在性能上绝对没有差别,但是更容易做到:

 String string = "param1" + param1 + ", param 2" + param2 + "param3".... (and so on) 

我更喜欢这种方法,因为它更短。 编译器会在后台将其转换为刚刚提到的代码,生成的字节码完全相同。

如果你在一个循环内构buildstring,那么一个StringBuilder肯定是要走的路。