Minter Coder's Blog

String ve StringBuilder eşitliği anlama

String nesnelerinde == çağırmak , nesnelerin in the pool aynı nesneye işaret edip etmediğini kontrol eder.StringBuilder referanslarında == çağırma onların aynı StringBuilder nesnesine işaret edip etmediğini kontrol eder.equals() methodunu String nesnelerinde çağırmak , the sequence of characters is the same olup olmadığını kontrol eder.StringBuilder nesnelerinde çağırınca onların aynı nesneye işaret edip etmediklerini kontrol eder.

Examples ;

String x = "Hello World";
        String y = "Hello World";
        System.out.println(x==y); // true poolda aynı yere işaret ediyolar
        String x2 = "Hello World";
        String y2 = "Hello World".trim();
        System.out.println(x2==y2); // false unutmayın String nesneler immutabledir.
        String x3 = "Hello World";
        String y3 = new String("Hello World"); // Burada başlı başına yeni nesne oluşturuluyor.
        System.out.println(x3==y3); // false
        String x4 = "Kerem";
        String y4 = "Kerem".trim();
        System.out.println(x4.equals(y4)); // true dönderir.


        StringBuilder s = new StringBuilder("Kerem");
        StringBuilder s2 = s;
        System.out.println(s==s2); // true
        StringBuilder s3 = new StringBuilder("Kerem");
        System.out.println(s3.equals(s)); // false