Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 13709|Svar: 0

[Kilde] 3 måder at få klassenavne i Java på!

[Kopier link]
Opslået på 02/04/2019 17.24.12 | | |
metode til at få klassenavnet
Der er tre hovedmåder at få klassenavne på Java:

getName()
Returen er klassenavnsrepræsentationen af klassen i den virtuelle maskine.

getCanonicalName()
Det, der returneres, er en mere forståelig klassenavnsrepræsentation.

getSimpleName()
Tilbagevendt er forkortelsen af klassen.

Hvad er forskellen?
Lad os tage et eksempel for at se de vigtigste forskelle.

Programmet udgiver 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 værd at forklare.

Dette er en kodning af returværdierne og parametrene i en funktion kaldet JNI Field Descriptors (JavaNative Interface Field Descriptors).

[ repræsenterer et array, et repræsenterer et endimensionelt array, såsom [[ repræsenterer et todimensionelt array. Efter L står for class descriptor, endelig; Angiver slutningen på klassens navn.

konklusion

1. Ud fra ovenstående resultater kan det ses, at getName() og getCanonicalName() ikke adskiller sig, når man opnår almindelige klassenavne, men der er forskel på at opnå interne klasser og array-klasser.

2. getSimpleName() er ikke anderledes, når man henter almindelige klasse- og interne klassenavne, men der er en forskel ved at opnå arrayklasser.





Tidligere:I Spring boot opfanger JPA's persistente lytter tilføjelser, sletninger og ændringer
Næste:java får objektegenskabstypen, egenskabsnavnet og egenskabsværdien
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com