- 1
String s = (new StringBuilder()).append("c.").append(Integer.toString(i, 36)).append(".").append(Integer.toString(j, 36)).append(".dat").toString();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+75
String s = (new StringBuilder()).append("c.").append(Integer.toString(i, 36)).append(".").append(Integer.toString(j, 36)).append(".dat").toString();
Опять из сорцов минесрафта.
У нотча видимо StringBuilder головного мозга.
> String concatenation is implemented through the StringBuilder(or StringBuffer) class and its append method.
Это оптимизация по времени!
простая конкатенция строк работает медленей, потому что плодит кучу объектов String которые потом жава будет гарбажить.
все правильно! Человек не хочет плодить лишние объекты String, и используюет StringBuiler а не StringBuffer, чтобы он не дергал впустую мутексы.
в статье тоже предписывается никогда стринги напрямую не складывать. Не пойму.
ну разве что... "Собственно, компилятор при оптимизации чаще всего так и делает – прямые сложения он выполняет через StringBuffer" <- это оно? можно было просто сложить стринги, надеясь что компилятор заоптимизирует, да?
Да, это наверное оно. Спасибо.