Я пытаюсь понять, что лучше всего и почему для объединения строковых литералов и переменных для разных случаев. Например, если у меня есть такой код
StringBuilder sb = new StringBuilder("AAAAAAAAAAAAA")
.append(B_String).append("CCCCCCCCCCC").append(D_String)
.append("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE")
.append("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
Это способ сделать это? Из этого поста я заметил, что +
оператор в Strings создает новый экземпляр StringBuilder, объединяет операнды и возвращает преобразование String, что, похоже, требует гораздо больше работы, чем просто вызов .append()
; так что если это правда, то об этом не может быть и речи. А что насчет String.concat()
? Правильно ли использовать .append()
для каждой конкатенации? Или только для переменных и литералов можно добавлять .concat()
?
StringBuilder sb = new StringBuilder("AAAAAAAAAAAAA")
.append(B_String.concat("CCCCCCCCCCC")).append(D_String
.concat("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE")
.concat("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"));
Каковы общие правила передового опыта и производительности в подобных ситуациях? Верно ли мое предположение, +
и его действительно не следует использовать?