자바 컴파일러가 String 추가 (+)를 StringBuilder.append() 메소드로 변환하지 않는 것을 확인했습니다. 나는자바 컴파일러가 문자열 연결을 최적화하지 않습니다.
public void doSomething(String a, String b) {
String c = a + "a";
String d = b + "b";
String e = c + d;
String f = e;
System.out.println(f);
}
컴파일 후 내 방법을 디 컴파일 하나 개의 방법이있는 클래스를 만들었 같이 보았다 :
public void doSomething(String paramString1, String paramString2)
{
String str1 = paramString1 + "a";
String str2 = paramString2 + "b";
String str3 = str1 + str2;
String str4 = str3;
System.out.println(str4);
}
컴파일러가 내 코드를 최적화하지 왜? 패키징에 개미를 사용하고 디버그 설정이 잘못되었습니다. 또한 단일 자바 파일 javac 시도했지만 결과가 동일합니다.
정말입니까? 어쩌면 디 컴파일러가 코드를 복원 할 정도로 똑똑할까요? – talex
'String g = a + b + c;'시도해보고 디 컴파일 결과를 알려주시겠습니까? –
어떤 디 컴파일러를 사용하고 있습니까? –