Concat over'+'运算符用于字符串连接

1 java string

String today = someSimpleDateFormat.format(new Date());
Calendar rightNow = Calendar.getInstance();
int hour = rightNow.get(Calendar.HOUR_OF_DAY);
int minute = rightNow.get(Calendar.MINUTE);
String hourString = String.valueOf(hour);
String minuteString = String.valueOf(minute);

if(hourString.length() == 1){
    hourString = '0'.concat(hourString);
}

if(minuteString.length() == 1){
    minuteString = '0'.concat(minuteString);
}

String dayHourMinute = today.concat("_").concat(hourString).concat("_").concat(minuteString);       
Run Code Online (Sandbox Code Playgroud)

我可以使用'+'运算符.如果我在程序中有很多字符串连接并且在'concat'方法上使用'+'运算符或反之亦然会有任何性能问题吗?

T.J*_*der 14

无论哪种方式,你都会创造许多不必要的临时性String.强烈推荐使用StringBuilder.StringBuilder当您使用+运算符时,编译器实际上会使用临时实例,但是它没有更广泛的视野来实现您的目标,并且在优化StringBuilder使用量方面受到限制,因此您几乎总是如此做得更好明确.