Java İle String İfadelerin Karşılaştırılması

Merhaba,

Prosedürel programlama ve OOP kısmında Java programlama dili ile C# neredeyse kardeş dillerdir. %80 – 85 birbirlerine benzetebileceğimiz bu iki dil, imza olarak benzer grameri kullanmakta ve kodsal açıdan ise genel anlamda aynı anahtar sözcük öbeğine sahiptirler.

Tabi istisna olarak belirtebileceğimiz farklar yanında, dilin kendine has mekanizma ve doğası gereği bazı farklı işlevlerde mevcuttur. Örneğin her iki int tipinden ifade arasına + operatörünü koyarsak iki dilde bu işlemde toplama işlemi gerçekleştirecektir. Aynı mantıkla string ifadeler arasında birleştirme işlemini…

Peki iki string ifadeyi karşılaştırma durumunda iki dilde ortak işlevsel yol düşünmektedirler mi?
Hayır…

İşte, o dile has düşünce mekanizmalarından birisini bu işlevde görmekteyiz. İki string ifade değerlerini == operatörü ile karşılaştırma iki dil arasında farklı bir işlem demektir.

----C#----
            string Ifade = "Örnek değer";
            string Ifade2 = "Örnek değer";
            if (Ifade == Ifade2)
            {
                Console.WriteLine("Eşit");
            }
            else
            {
                Console.WriteLine("Değil");
            }

C# dili, == operatörü ile bu ifadelerin değerini karşılaştırmaktadır. O yüzden değerler kıyaslanmaktadır.

----Java----
        String Ifade = "Örnek değer";
        String Ifade2 = "Örnek değer";
        if (Ifade == Ifade2)
        {
            System.out.println("Eşit");
        }
        else
        {
            System.out.println("Değil");
        }

Java dili ise, == operaötü ile ifadelerin referanslarını karşılaştırmaktadır. Haliyle sanki sol ve sağ taraftaki nesnelerin aynı olup olmadığı karşılaştırılıyormuş gibi düşünebiliriz.

Java’da == operatörü ile referansların eşitliği karşılaştırılırken, equals metodu ile ifadelerin değerleri karşılaştırılır.

----Java----
        String Ifade = "Örnek değer";
        String Ifade2 = "Örnek değer";
        if (Ifade.equals(Ifade2))
        {
            System.out.println("Eşit");
        }
        else
        {
            System.out.println("Değil");
        }

Java’da equals metoduyla gördüğünüz gibi verilen ifadelerin değerleri karşılaştırılmaktadır.

Sonraki yazılarımda görüşmek üzere…

İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*