Neden bu kod satırları farklı değerler döndürmek hakkında hiçbir fikrim yok:
System.out.println(Integer.valueOf("127")==Integer.valueOf("127"));
System.out.println(Integer.valueOf("128")==Integer.valueOf("128"));
System.out.println(Integer.parseInt("128")==Integer.valueOf("128"));
Çıktı:
true
false
true
Birincisi true
ve ikincisi neden geri dönüyor false
? Ben arasına bilmiyorum orada farklı bir şey mi 127
ve 128
? (Tabii ki biliyorum 127
< 128
.)
Ayrıca, üçüncüsü neden geri dönüyor true
?
Bu sorunun cevabını okudum , ama yine de nasıl dönebileceğini true
ve ikinci satırdaki kodun neden döndüğünü alamadım false
.
.equals()
, aksi takdirde tüm bahisler kapalıdır.