我的应用程序中的代码位于很多位置。我正在使用它来准备SQL查询。
方法1:
private String sampleMethod(String name) {
//null check
StringBuilder sb = new StringBuilder("Welcome ");
sb.append(name);
sb.append(", Have a good day!");
//System.out.println(sb.toString());
return sb.toString();
}
方法2:
private String sampleMethod(String name) {
//null check
//System.out.println("Welcome " + name + ", Have a good day!");
return "Welcome " + name + ", Have a good day!";
}
谢谢。
答案 0 :(得分:1)
内部两种方法几乎相同。使用任何使代码更易于阅读和维护的内容。只有在遇到问题时才会担心内存消耗和性能问题。这比你想象的要少得多。
答案 1 :(得分:1)
在Java编译器的现代版本中,成语:
String x = a + b + c;
在内部转化为:
String x = new StringBuilder().append(a).append(b).append(c).toString();
所以,除非你正在使用一个非常古老的编译器,否则它们几乎都是一样的。
这并不意味着StringBuilder
不再有用,它仍可用于for
和while
循环。
答案 2 :(得分:0)
Stringbuilder不会重新创建对象,在这种情况下,内存使用会更好。但是String会重新创建对象。除此之外,两者的功能都相同。