Perkenalan
Kelas Objek: Kelas ini java.lang.java adalah kelas induk yang diwarisi oleh semua kelas secara default.
Tiga metode yang umum digunakan di kelas objek: toString() , equal() , hashCode()
1. Deskripsi diri dari objek metode tostring () dan pengenalan diri objek
Selama deskripsi diri suatu objek, karena merepotkan untuk mencetak variabel instance menggunakan metode get() , toString() digunakan untuk kesederhanaan.
Public String ToString () {return "Learn Well" + getno () + "name" + getName ();} System.out.println(s); setara dengan System.out.println(s.toString());
Pencetakan:
A. Cetak nilainya secara langsung saat tipe data dasar
B. Hubungi toString() saat mengacu pada tipe data dan cetak
Jika metode toString() di kelas objek tidak menulis ulang, cetak objek secara langsung, dan hasil yang diperoleh di konsol adalah:
HashCode yang berisi nama lengkap @ objek
2. Metode penulisan ulang () Equals () harus menulis ulang hashcode ().
Equals() membandingkan konten dua objek, atau dua objek; hashCode() adalah alamat internal objek dan merupakan bilangan bulat.
== Perbedaan Antara Equals ()?
Jawaban: == Perbandingan penting adalah biner, tipe data dasar membandingkan nilai numerik, dan tipe data referensi membandingkan alamat
Equals() dibagi menjadi equals() dari kelas objek dan equals() dari kelas string. equals() dari kelas objek setara dengan == membandingkan tipe referensi; equals() dari kelas string mengesampingkan metode equals() di kelas objek, membandingkan nilai literal.
Contoh menentukan nama kelas, atau mungkin menggunakan refleksi
Nama variabel referensi objek contoh dari ekspresi nama kelas, jika nama variabel referensi objek adalah objek kelas atau kelas dasar yang nilai pengembaliannya masih benar.
Metode Kustom equals() :
1. Jenis yang sama
2. Tentukan aturan perbandingan Anda sendiri
Publik Boolean Equals (Object Object) {// Tulis ulang metode Equals () Objek Equalstest EqualStest = (equalstest) objek; if (equalstest.getClass () == equalstest.class) {//?????????fiFiCEC.PPRICE.NEMERICE. true;} else {return false;}} else {return false;}}3. Metode hashcode () digunakan untuk mempercepat pencarian dan mengimplementasikan pencarian indeks (algoritma kueri, algoritma penyimpanan)
Public int hashCode () {return this.name.hashCode ()*13 + New Interger (getage) .hashCode ()*12;}Dua prinsip kode hash:
1. Ketika nilai pengembalian dari dua objek equals() adalah benar, metode hashCode() mereka juga harus memastikan bahwa nilai pengembaliannya sama.
2. Gunakan equals() untuk membandingkan properti yang digunakan dalam objek, dan semuanya harus digunakan untuk menghitung hashCode() .
algoritma hash hashcode ()
membutuhkan:
1. Nilai pengembalian hashCode() adalah sama, dan nilai pengembalian equals() juga harus sama.
2. Tulis ulang atribut apa yang menggunakan hashCode() dan atribut apa yang akan digunakan dalam metode equals() .
Catatan: Kode hash adalah sama, sama tidak harus sama.
HashCode digunakan untuk menilai folder, dan setara digunakan untuk menilai file.
Jika metode hashCode() tidak diganti, metode hashcode default () ditemukan berdasarkan alamat objek (nilai kunci adalah alamat objek)
Jika Anda menulis ulang metode hashCode() , itu tidak dapat digunakan untuk menentukan apakah itu adalah objek yang sama.
Anda dapat menggunakan System.identityHashCode (nama referensi objek) jika kode hash adalah sama, itu adalah objek yang sama.
System.out.println(System.identityHashCode(对象的引用名));
Jika tidak ada hashCode() , kode hash dari objeknya dihitung dengan alamat objek.
System.out.println(对象引用名.hashCode());
Catatan: Apakah elemen ada dalam koleksi hashset dan metode untuk menghapus dependensi operasi adalah hashCode() dan equals() dari elemen.
Ringkasan
Di atas adalah tiga metode umum objek induk di java yang disusun untuk Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda untuk wulin.com.