我有几行代码如下。我的问题是更喜欢哪一个?
public static String convertMapToString ( Map < String, String > map )
{
StringBuilder str = new StringBuilder ( 200 ) ;
for ( Entry < String, String > entry : map.entrySet ( ) )
{
str.append ( entry.getKey() + " = " + entry.getValue() ) ;
}
return str.toString() ;
}
或者我是否应该继续执行以下操作,因为我怀疑上面的 appned 语句可能会由于 +
操作而创建另外两个字符串
在每次迭代中。
public static String convertMapToString ( Map < String, String > map )
{
StringBuilder str = new StringBuilder ( 200 ) ;
for ( Entry < String, String > entry : map.entrySet ( ) )
{
str.append (entry.getKey());
str.append (" = ");
str.append (entry.getValue()) ;
}
return str.toString() ;
}
最佳答案
按照传统观点,为了获得最佳的 Strings
连接,您应该更喜欢 StringBuilder.append
方法,因此这将是您示例中的选项 2。
注意根据language spec即使您使用 "+"
连接,实现可能选择将它们优化为 StringBuilder.append
,但不能保证,所以如果最佳执行是您的首要任务,我建议始终选择选项 2。
关于java - 字符串变量连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36300933/