Aşağıdaki kodda true
dönmek için equals()
beklerim, ancak değil. Burada neyi özlüyorum? ayıklayıcısında hem dizide baktığımızda SparseBooleanArray.equals() beklendiği gibi çalışmıyor
SparseBooleanArray array_0 = new SparseBooleanArray();
array_0.put(0, true);
array_0.put(2, true);
SparseBooleanArray array_1 = new SparseBooleanArray();
array_1.put(0, true);
array_1.put(2, true);
boolean isEqual = array_0.equals(array_1); // is false instead of true
, onlar (onlar farklı
shadow$_monitor_
değere sahip ama bunun olması gerekiyordu hiçbir fikrim yok) bana aynı görünüyor.
toString()
yöntemi, her ikisi için de aynı dizeyi döndürür.
Bir EnumSet
dosyasını SparseBooleanArray
dönüştüren bir işlev için bir birim sınaması yazmaya çalışıyorum, ancak işlevin dönüş değeriyle karşılaştırmak için aynı diziyi el ile oluşturamıyorum.
Düzenleme
Şunu da belirtmek gerekir ki documentation dayalı olmamalıdır yanı hasCode()
döner farklı değerler.
. Bulgularınızı çoğaltabilirim, ancak kaynak kodu eşleşecek gibi görünüyor ... – CommonsWare
Android'in hangi sürümünde test ediyorsunuz? – Blackbelt
@Blackbelt On Android 6.0 API 23 - x86_64 öykünücüsü – rozina