Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 13709|Svare: 0

[Kilde] 3 måter å få klassenavn på Java!

[Kopier lenke]
Publisert på 02.04.2019 17:24:12 | | |
Metode for å hente klassenavnet
Det finnes tre hovedmåter å skaffe klassenavn på Java:

getName()
Returen er klassenavnsrepresentasjonen av klassen i den virtuelle maskinen.

getCanonicalName()
Det som returneres, er en mer forståelig representasjon av klassenavn.

getSimpleName()
Returnert er forkortelsen av klassen.

Hva er forskjellen?
La oss ta et eksempel for å se hovedforskjellene.

Programmet gir følgende resultater.

Metodenavn Klassenavn
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; Det er verdt å forklare.

Dette er en koding av returverdiene og parameterne til en funksjon kalt JNI Field Descriptors (JavaNative Interface Field Descriptors).

[ representerer et array, ett representerer et endimensjonalt array, slik som [[ representerer et todimensjonalt array. Etter L står for klassebeskrivelse, endelig; Indikerer slutten på klassenavnet.

konklusjon

1. Fra resultatene ovenfor kan man se at getName() og getCanonicalName() ikke er forskjellige når man henter ordinære klassenavn, men det er en forskjell mellom å hente interne klasser og array-klasser.

2. getSimpleName() er ikke annerledes når man henter ordinære klasse- og interne klassenavn, men det er en forskjell når man henter arrayklasser.





Foregående:I Spring boot fanger JPA-persistent lytter opp tillegg, sletting og modifikasjoner
Neste:java får objektegenskapstypen, egenskapsnavnet og egenskapsverdien
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com