【发布时间】:2014-07-09 18:14:59
【问题描述】:
我在我的项目中看到了java代码,它根据各种参数构造了一个文件名。java代码是这样的
String file = null;
String fileDirSeperator = System.getProperty("file.separator");
String pwd = System.getProperty("user.dir");
file = pwd + fileDirSeperator + "properties" + fileDirSeperator + folder_name + file_name;
我想知道我是否应该StringBuffer 而不是String。我知道将任何内容附加到 String 会创建新对象,所以我想我应该 StringBuffer。
我可以知道你的建议吗?
还有,
file = pwd + fileDirSeperator + "properties" + fileDirSeperator + folder_name + file_name;
在上面的文件名构造中,会创建6个对象(每个变量一个)?
【问题讨论】:
-
如果你只连接 6 个字符串,我不会太在意性能。使用
+,不要过度复杂化。 -
@BobbyDigital 不适用于这种情况。生成的字节码已经为你使用了
StringBuilder。 -
@LuiggiMendoza:我看到了!
-
真的,您唯一需要关注与
+的字符串连接是在循环/递归调用/等中,特别是如果您将结果保存到临时变量中。对于这样一次性的事情,您最终将编写与编译器生成的代码相同的代码。
标签: java string object stringbuffer