Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 13709|Antwoord: 0

[Bron] 3 manieren om klassennamen in Java te krijgen!

[Link kopiëren]
Geplaatst op 02-04-2019 17:24:12 | | |
methode om de klassenaam te verkrijgen
Er zijn drie hoofdmanieren om klassennamen in Java te verkrijgen:

getName()
De return is de klassenaamrepresentatie van de klasse in de virtuele machine.

getCanonicalName()
Wat wordt teruggegeven is een beter begrijpelijke vertegenwoordiging van klassenamen.

getSimpleName()
Teruggegeven is de afkorting van de klasse.

Wat is het verschil?
Laten we een voorbeeld nemen om de belangrijkste verschillen te bekijken.

Het programma geeft de volgende resultaten.

Naam van de Methode Klasse
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; Het is de moeite waard om uit te leggen.

Dit is een codering van de retourwaarden en parameters van een functie genaamd JNI Field Descriptors (JavaNative Interface Field Descriptors).

[ vertegenwoordigt een array, één vertegenwoordigt een eendimensionale array, zoals [[[ vertegenwoordigt een tweedimensionale array. Na L staat voor class descriptor, uiteindelijk; Geeft het einde van de klasnaam aan.

conclusie

1. Uit bovenstaande resultaten blijkt dat getName() en getCanonicalName() niet verschillen bij het verkrijgen van gewone klassennamen, maar er is wel een verschil tussen het verkrijgen van interne klassen en arrayklassen.

2. getSimpleName() is niet anders bij het verkrijgen van gewone klasse- en interne klassenamen, maar er is wel een verschil bij het verkrijgen van arrayklassen.





Vorig:In Spring boot onderschept de JPA-persistent luisteraar toevoegingen, verwijderingen en aanpassingen
Volgend:java krijgt het Object eigenschapstype, eigenschapsnaam en eigenschapswaarde
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com