我经常在想,当我们给一个字符串变量赋值时,将它拆分成多行以提高可读性是否会有性能成本。我知道字符串是不可变的,因此每次都需要创建一个新字符串。但是,由于现在的硬件速度非常快(除非你处于某种恶魔般的循环中),实际上性能代价并不重要。举个例子:
String newString = "This is a really long long long long long" +
" long long long long long long long long long long long long " +
" long long long long long long long long long string for example.";
JVM或.Net的编译器和其他优化技术如何处理这个问题?它会创建一个字符串吗?还是先创建1个字符串,然后再新建一个连接值的字符串,接着再创建另一个连接值的字符串?
我只是出于好奇想知道这个问题的答案。