1. Wenn beide Seiten eines Ausdrucks Literale sind, werden Berechnungen während des Kompilierungsprozesses durchgeführt und das Ergebnis wird an der Position des Ausdrucks generiert, um Recheneffizienz zu sparen
ps: JVM vergleicht den Inhalt des Konstantenpools nur, wenn es sich um ein Literal handelt. Wenn es sich um ein neues Objekt handelt, handelt es sich um ein anderes Objekt.Beispiel 1:
<span style="color: #008080">1</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args){ </span><span style="color: #008080">2</span> String str = "123str"<span style="color: #000000">; </span><span style="color: #008080">3</span> String str1 = "123"+"str"<span style="color: #000000">; </span><span style="color: #008080">4</span> String str2 = <span style="color: #0000ff">new</span> String("123str"<span style="color: #000000">); </span><span style="color: #008080">5</span> <span style="color: #008080">6</span> System.out.println(str == str1); <span style="color: #008000">//</span><span style="color: #008000">true</span> <span style="color: #008080">7</span> System.out.println(str == str2); <span style="color: #008000">//</span><span style="color: #008000">false</span> <span style="color: #008080">8</span> }
Das obige ist der detaillierte Inhalt vonFunktionen des Java-Compilers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!