一个小问题,但我真的很好奇。
有什么本质上更好或更差的东西
"a string with a char: " + 'x'
与
相比 "a string with a char: " + "x"
他们都工作,但我想知道是否有任何表现或效率影响 - 尽管可能很小。
感谢。
答案 0 :(得分:2)
public void test(){
String str1 = "appl" + 'e';
String str2 = "banan" + "a";
}
字节码无变化:
public void test();
Code:
0: ldc #2 // String apple
2: astore_1
3: ldc #3 // String banana
5: astore_2
6: return
我应该提一下,如果你将连接放在一个循环中,那么StringBuilder将用于两者。就是这样。
答案 1 :(得分:0)
我非常确定它们都会生成相同的高效字节码。编译器很聪明
因此,如果存在差异(我不确定),编译器将删除它