Tasarım Kodlama

Java ile String Karşılaştırma

String(dize) bir karakter dizisidir. Java’da yaygın olarak kullanılan bir veri türüdür, bu nedenle dizelerin karşılaştırılması en çok kullanılan Java işlemlerinden biridir. Ancak, geliştiriciler çoğu zaman bu işlemle baş edemezler. Bu sorunla başa çıkmaya çalışıyorsanız, doğru yerdesiniz! Bu yazıda Java’daki dizeleri karşılaştırmanın farklı yollarını sunacağız.

String Sınıfı ile String Karşılaştırması

Bu yöntem, Java’daki dizeleri karşılaştırmanın beş farklı yolunu önerir. Her birini dikkate alacağız.

“==” Karşılaştırma İşlecini Kullanma

Uyarı: “==” operatörü değerleri değil, yalnızca referansları karşılaştırır. Bu, metin değerlerini karşılaştırmanın yanlış bir yoludur. Bir örnek görelim:

Örnek:

Çıktı:

Gördüğünüz gibi, iki değişken aynı dize değişmezine işaret ediyor, bu nedenle ilk onaylama doğru, ancak ikinci onaylama yanlıştır, çünkü string1 bir değişmezle oluşturulur ve string3 new operatörü ile oluşturulur; farklı nesneler.

 

equals()  Kullanma

Bu yöntem, içeriklerine göre iki dizeyi karşılaştırır. Adreslerini görmezden gelen karaktere göre bir karşılaştırma. İki dize aynı uzunlukta ve karakterler aynı sıradaysa, bunları eşit kabul eder ve true değerini döndürür. Karakterler eşleşmezse false değerini döndürür.

String sınıfı iki yöntem kullanır

public boolean equals(Başka bir nesne) bu dizeyi belirtilen nesneyle karşılaştırır.
public boolean equalsIgnoreCase(Başka bir String) bu dizeyi başka bir dizeyle karşılaştırır ve büyük / küçük harf durumunu dikkate almaz.

Sözdizimi:

 

Örnek:

Çıktı:

Bu örnekte, string1, string2 ve string3 değişkenleri eşittir çünkü adreslerinden bağımsız olarak aynı durum ve değere sahiptirler.

String3 için yöntem, büyük / küçük harfe duyarlı olduğu için false değerini döndürür.

Ayrıca, iki dizeden herhangi biri boşsa, yöntem false değerini döndürür.

Şimdi aldığınızdan emin olmak için başka bir örneğe bakalım.

Çıktı:

equalsIgnoreCase() Kullanma

Yukarıda belirtildiği gibi, bir boolean değeri döndüren başka bir yöntem daha vardır. Bu yöntem, Dizeleri karşılaştırırken karakterlerin durumunu dikkate almaz.

Çıktı:

 

compareTo() Kullanımı

Bu yöntem, sözlük veya doğal sıralamaya göre iki dizenin karakterlerini sözlükbilimsel olarak karşılaştırır. İlk dizenin ikinci dizeden küçük, eşit veya büyük olduğunu açıklayan bir tamsayı değeri döndürür.

et’in dize1 ve dize2’nin iki farklı değişken olduğunu hayal edin. Üç olası senaryo vardır:

  • string1 == string2: 0
  • string1 > string2: pozitif değer
  • string1 <string2: negatif değer

Sözdizimi:

 

Örnek:

Nesne Sınıfı ile Dize Karşılaştırması

Objects bir yardımcı program sınıfı equals() yöntemi içerir. İki dizeyi karşılaştırmak da aynı derecede faydalı olabilir.

Bu yöntem ilk olarak iki dizeyi adreslerine göre karşılaştırır ve aynıysa true değerini döndürür. Her iki argüman da null olursa, true değerini döndürür, ancak bir argüman null olursa false değerini döndürür. Dize sınıfının equals() yöntemini dahili olarak çağırdığı için büyük / küçük harfe duyarlı bir yöntemdir.

Bir örnekle kontrol edelim.

Çıktı:

 

Apache Commons Kütüphanesi ile String Karşılaştırma

Apache Commons kütüphanesi, String yardımcı programları olarak adlandırılan ve string karşılaştırması için yararlı yöntemler sağlayan dizeyle ilgili işlemler için bir yardımcı program sınıfı içerir. Haydi bakalım.

 

Yorum yap