Java memiliki dokumentasi online yang bagus. Halaman yang ditautkan andyb di bawah ini adalah contohnya. Setiap kali Anda memiliki pertanyaan mengenai fungsionalitas yang sebenarnya tersedia dari kelas atau paket, javadocs mudah ditemukan seperti Googling "java 6 <paket atau kelas yang dimaksud>".
String.class.getSimpleName () -> String, sedangkan String.class.getName () -> java.lang.String
Peter Dietz
Terima kasih, @andyb getSimpleName()lebih mudah mengakses nama kelas tanpa nama paket. Sintaks: object.getClass().getSimpleName()Kode sampel
Abhijeet
Bagaimana menugaskannya untuk variabel string statis. itu menunjukkan kesalahan di studio android.
MohanRaj S
Tidak berfungsi untuk kelas dalam: Ini akan menghapus nama kelas yang melingkupinya, bukan hanya paketnya.
toolforger
9
Di bawah ini kedua cara berfungsi dengan baik.
System.out.println("The Class Name is: " + this.getClass().getName());
System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
Ini membantu saya karena saya tidak dapat menggunakan getSimpleName () dari framework saya ... Tq
Imposter
1
Selain itu, pendekatan terprogram menghasilkan hasil yang wajar untuk kelas anonim.
Hollis Waite
@Imposter Anda menggunakan sesuatu yang lebih awal dari Java 1.5?
Stealth Rabbi
Anda perlu menangani kasus di mana tidak ada .yang ditemukan.
eckes
@ memeriksa jika titik tidak ditemukan, hasilnya akan menjadi -1, menambahkan 1 akan memberi Anda substring mulai dari indeks 0 - persis seperti yang Anda butuhkan dalam kasus ini. (Saya baru saja mengujinya dengan int[], hasilnya adalah "[I".)
toolforger
4
Anda dapat menggunakan teknik sederhana berikut untuk mencetak log dengan nama kelas.
private String TAG = MainActivity.class.getSimpleName();
Misalkan kita harus memeriksa nilai variabel yang akan datang dalam metode maka kita dapat menggunakan log seperti di bawah ini:
getSimpleName (): Mengembalikan nama sederhana dari kelas yang mendasari seperti yang diberikan dalam kode sumber. Mengembalikan string kosong jika kelas yang mendasarinya adalah anonim. Nama sederhana dari sebuah array adalah nama sederhana dari tipe komponen dengan "[]" ditambahkan. Secara khusus, nama sederhana dari sebuah larik yang tipe komponennya anonim adalah "[]".
Jawaban:
Class.getSimpleName()
sumber
getSimpleName()
lebih mudah mengakses nama kelas tanpa nama paket. Sintaks:object.getClass().getSimpleName()
Kode sampelDi bawah ini kedua cara berfungsi dengan baik.
System.out.println("The Class Name is: " + this.getClass().getName()); System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
Output seperti di bawah ini:
sumber
atau secara terprogram
String s = String.class.getName(); s = s.substring(s.lastIndexOf('.') + 1);
sumber
.
yang ditemukan.int[]
, hasilnya adalah"[I"
.)Anda dapat menggunakan teknik sederhana berikut untuk mencetak log dengan nama kelas.
private String TAG = MainActivity.class.getSimpleName();
Misalkan kita harus memeriksa nilai variabel yang akan datang dalam metode maka kita dapat menggunakan log seperti di bawah ini:
private void printVariable(){ Log.e(TAG, "printVariable: "); }
Pentingnya baris ini adalah, kita dapat memeriksa nama metode bersama dengan nama kelas. Untuk menulis jenis log ini.
tulis: - loge dan Enter.
akan mencetak di konsol
sumber
Social.class.getSimpleName ()
getSimpleName (): Mengembalikan nama sederhana dari kelas yang mendasari seperti yang diberikan dalam kode sumber. Mengembalikan string kosong jika kelas yang mendasarinya adalah anonim. Nama sederhana dari sebuah array adalah nama sederhana dari tipe komponen dengan "[]" ditambahkan. Secara khusus, nama sederhana dari sebuah larik yang tipe komponennya anonim adalah "[]".
sumber
Berikut adalah cara Groovy untuk mengakses properti objek:
this.class.simpleName # returns the simple name of the current class
sumber
Dapatkan nama sederhana, bukan jalur.
String onlyClassName = this.getLocalClassName();
panggil metode di atas di onCreate
sumber