2012-12-13 18 views
6

コンパイラは、このようなものを取るために起こっているように私には合理的であると思われます。私はこれが本当だと確信していますが、もし誰かがそれを持ち上げたら、 は私のアヒルを連れて行きたいと思います。Javaコンパイラ文字列の最適化が

答えて

3

は、どのようなJLSは定数式について言うことは、私はこのコードを遵守trueの場合JADファイルで、Test.java

public static void main(String[] args) { 
    log.warning("123" + "456"); 
} 

その後、デコンパイルTest.classをチェックしている。この

public static void main(String args[]) 
{ 
    log.warning("123456"); 
} 

を得たために、 Test.classには1つのリテラル "123456"しかありません

7

文字列は コンパイル時に計算した後、それらがリテラルであるかのように扱われます。

JLSの引用符を「あなたに挑戦する」人に見せてください。