Untuk aplikasi Android, saya memiliki fungsi berikut
private ArrayList<String> _categories; // eg ["horses","camels"[,etc]]
private int getCategoryPos(String category) {
for(int i = 0; i < this._categories.size(); ++i) {
if(this._categories.get(i) == category) return i;
}
return -1;
}
Apakah itu cara "terbaik" untuk menulis fungsi untuk mendapatkan posisi elemen? Atau apakah ada fungsi asli shmancy mewah di java yang harus saya manfaatkan?
==
akan menghasilkan hasil yang salah dalam banyak kasus.==
... itu bukan perbandingan yang tepat ;-)String.equals
lebih seperti apa yang===
mungkin ada dalam bahasa seperti JavaScript? misalnya. memeriksa nilai DAN jenis?==
Adalah identitas objek dan artinya "adalah objek yang sama" . (Tampilan ini berlaku untuk nilai primitif serta jenis referensi, jika Anda menganggap hanya ada satu angka dengan nilai 42 atau char 'x', dll).Object.equals
adalah metode virtual yang didefinisikan untuk semua instance objek dan itu berarti "memiliki nilai yang sama" , karena semua jenis kelas memperluas Object, dan harus digunakan untuk semua pengujian persamaan objek . Ada banyak pertanyaan di sampul==
vsObject.equals
dan ini adalah konsep yang sangat penting untuk dipahami! Sebagai contoh, ini adalah palsu:"hello" == new String("hello")
! Doh!