Auf Thema antworten

Tag,


ein Bekannter und ich machen gerade so Testdurchläufe für den OCA. Hier ist erstmal der Code:


[CODE]public class Test {

    public static void main(String[] args) {

        final int i1 = 1;

        final Integer i2 = 1;

        final String s1 = ":ONE";

      

        String str1 = i1 + s1;

        String str2 = i2 + s1;

      

        System.out.println(str1 == "1:ONE");

        System.out.println(str2 == "1:ONE");

    }

}[/CODE]


Wir verstehen nicht, wie die Konsolenausgaben zustande kommen.

Und zwar wird:


true

false


ausgegeben.

Aber wo ist da der entscheidende Unterschied, warum beim zweiteren false ausgegeben wird? Vom Prinzip ist es ja das gleiche?!


Eine Erklärung wäre super :)



Oben