Bir satır cevap söyleyebilirim, kullanmalısınız:
Float.floatToIntBits(sectionID) == Float.floatToIntBits(currentSectionID)
İlgili işleçleri doğru bir şekilde kullanma hakkında daha fazla bilgi edinmek için, burada bazı durumları ayrıntılı olarak açıklarım: Genel olarak, Java'da dizeleri test etmenin üç yolu vardır. ==, .equals () veya Objects.equals () kullanabilirsiniz.
Nasıl farklılar? == Dizelerde referans kalitesi için testler, yani iki nesnenin aynı olup olmadığını bulma. Öte yandan, .equals () yöntemi, iki dizenin mantıksal olarak eşit değerde olup olmadığını test eder. Son olarak, Objects.equals () yöntemi, iki dizedeki null değerleri test eder.
Kullanmak için ideal operatör
Bu çok sayıda tartışmaya maruz kaldı çünkü üç operatörün her birinin kendine özgü güçlü ve zayıf yanları var. Örnek, == genellikle nesne başvurusunu karşılaştırırken tercih edilen bir seçenektir, ancak dize değerlerini de karşılaştırabileceği durumlar vardır.
Ancak, aldığınız şey bir düşme değeridir, çünkü Java değerleri karşılaştırdığınız bir yanılsama yaratır, ancak gerçek anlamda değildir. Aşağıdaki iki durumu düşünün:
Dava 1:
String a="Test";
String b="Test";
if(a==b) ===> true
Durum 2:
String nullString1 = null;
String nullString2 = null;
//evaluates to true
nullString1 == nullString2;
//throws an exception
nullString1.equals(nullString2);
Bu nedenle, tasarlanmış olduğu belirli bir özelliği test ederken her bir operatörü kullanmak daha iyidir. Ancak neredeyse her durumda, Objects.equals () daha evrensel bir operatördür, bu nedenle web geliştiricilerinin bunu tercih ettiğini deneyimleyin.
Burada daha fazla bilgi edinebilirsiniz: http://fluentthemes.com/use-compare-strings-java/