Java ma świetną dokumentację online. Przykładem jest strona, do której prowadzi link andyb poniżej. Za każdym razem, gdy masz pytanie dotyczące dokładnej funkcjonalności dostępnej w klasie lub pakiecie, javadoc są tak łatwe do znalezienia, jak wyszukiwanie w Google „java 6 <kwestionowany pakiet lub klasa>”.
String.class.getSimpleName () -> String, gdzie jako String.class.getName () -> java.lang.String
Peter Dietz
Dziękuję, @andyb getSimpleName()jest łatwiejszy w dostępie do nazwy klasy bez nazwy pakietu. Składnia: object.getClass().getSimpleName()Przykładowy kod
Abhijeet
Jak przypisać go do statycznej zmiennej łańcuchowej. pokazuje błąd w Android Studio.
MohanRaj S
Nie działa dla klas wewnętrznych: spowoduje to usunięcie nazwy klasy otaczającej, a nie tylko pakietu.
toolforger
9
Poniższe oba sposoby działają dobrze.
System.out.println("The Class Name is: " + this.getClass().getName());
System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
Pomogło mi to, ponieważ nie mogę używać getSimpleName () z mojego frameworka ... Tq
Imposter
1
Ponadto podejście programistyczne daje rozsądne wyniki dla klas anonimowych.
Hollis Waite
@Imposter, używasz czegoś wcześniejszego niż Java 1.5?
Stealth Rabbi
Musisz zająć się przypadkiem, w którym nie .znaleziono.
eckes
@eckes jeśli kropka nie zostanie znaleziona, wynikiem będzie -1, dodanie 1 da ci podciąg zaczynający się od indeksu 0 - dokładnie to, czego potrzebujesz w tym przypadku. (Właśnie to przetestowałem int[], wynik jest "[I".)
toolforger
4
Możesz użyć następującej prostej techniki drukowania dziennika z nazwą klasy.
private String TAG = MainActivity.class.getSimpleName();
Załóżmy, że musimy sprawdzić nadchodzącą wartość zmiennej w metodzie, a następnie możemy użyć loga takiego jak poniżej:
getSimpleName (): zwraca prostą nazwę klasy bazowej podaną w kodzie źródłowym. Zwraca pusty ciąg, jeśli klasa bazowa jest anonimowa. Prosta nazwa tablicy to prosta nazwa typu komponentu z dołączonym „[]”. W szczególności prostą nazwą tablicy, której typ komponentu jest anonimowy, jest „[]”.
Odpowiedzi:
Class.getSimpleName()
źródło
getSimpleName()
jest łatwiejszy w dostępie do nazwy klasy bez nazwy pakietu. Składnia:object.getClass().getSimpleName()
Przykładowy kodPoniższe oba sposoby działają dobrze.
System.out.println("The Class Name is: " + this.getClass().getName()); System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
Wyjście jak poniżej:
źródło
lub programowo
String s = String.class.getName(); s = s.substring(s.lastIndexOf('.') + 1);
źródło
.
znaleziono.int[]
, wynik jest"[I"
.)Możesz użyć następującej prostej techniki drukowania dziennika z nazwą klasy.
private String TAG = MainActivity.class.getSimpleName();
Załóżmy, że musimy sprawdzić nadchodzącą wartość zmiennej w metodzie, a następnie możemy użyć loga takiego jak poniżej:
private void printVariable(){ Log.e(TAG, "printVariable: "); }
Znaczenie tej linii jest takie, że możemy sprawdzić nazwę metody wraz z nazwą klasy. Aby napisać ten typ dziennika.
napisz: - loge i Enter.
wydrukuje na konsoli
źródło
Social.class.getSimpleName ()
getSimpleName (): zwraca prostą nazwę klasy bazowej podaną w kodzie źródłowym. Zwraca pusty ciąg, jeśli klasa bazowa jest anonimowa. Prosta nazwa tablicy to prosta nazwa typu komponentu z dołączonym „[]”. W szczególności prostą nazwą tablicy, której typ komponentu jest anonimowy, jest „[]”.
źródło
Oto sposób, w jaki Groovy uzyskuje dostęp do właściwości obiektu:
this.class.simpleName # returns the simple name of the current class
źródło
Uzyskaj prostą nazwę zamiast ścieżki.
String onlyClassName = this.getLocalClassName();
wywołaj powyższą metodę w onCreate
źródło