Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13709|Răspunde: 0

[Sursă] 3 moduri de a obține nume de clase în Java!

[Copiază linkul]
Postat pe 02.04.2019 17:24:12 | | |
Metoda de a obține numele clasei
Există trei modalități principale de a obține nume de clase în Java:

getName()
Returnarea este reprezentarea numelui clasei din mașina virtuală.

getCanonicalName()
Ceea ce se returnează este o reprezentare a numelui clasei mai ușor de înțeles.

getSimpleName()
Returnată este abrevierea clasei.

Care este diferența?
Să luăm un exemplu pentru a vedea principalele diferențe.

Programul generează următoarele rezultate.

Nume metodă Numele clasei
getName com.test.TestClass
getCanonicalName com.test.TestClass
getSimpleName TestClass

getName com.test.TestClass$TestInnerClass
getCanonicalName com.test.TestClass.TestInnerClass
getSimpleName TestInnerClass

getName [Lcom.test.TestClass$TestInnerClass;
getCanonicalName com.test.TestClass.TestInnerClass[]
getSimpleName TestInnerClass[]
[Lcom.test.TestClass$TestInnerClass; Merită explicat.

Aceasta este o codificare a valorilor de returnare și a parametrilor unei funcții numite JNI Field Descriptors (JavaNative Interface Field Descriptors).

[ reprezintă un tablou, unul reprezintă un tablou unidimensional, cum ar fi [[ reprezintă un tablou bidimensional. După ce L vine de la descriptorul de clasă, în cele din urmă; Indică sfârșitul numelui clasei.

concluzie

1. Din rezultatele de mai sus, se poate observa că getName() și getCanonicalName() nu diferă atunci când se obțin nume obișnuite de clasă, dar există o diferență între obținerea claselor interne și a claselor de tablou.

2. getSimpleName() nu face diferență când se obțin nume obișnuite de clase și clase interne, dar există o diferență când se obțin clasele de tablou.





Precedent:În bootul Spring, ascultătorul persistent JPA interceptează adaosi, ștergeri și modificări
Următor:java primește tipul proprietății Obiect, numele proprietății și valoarea proprietății
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com