Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 13709|Svar: 0

[Källa] 3 sätt att få klassnamn i Java!

[Kopiera länk]
Publicerad på 2019-04-02 17:24:12 | | |
metod för att få klassnamnet
Det finns tre huvudsakliga sätt att få klassnamn på Java:

getName()
Returen är klassnamnsrepresentationen för klassen i den virtuella maskinen.

getCanonicalName()
Det som returneras är en mer förståelig representation av klassnamn.

getSimpleName()
Tillbaka är förkortningen av klassen.

Vad är skillnaden?
Låt oss ta ett exempel för att se de största skillnaderna.

Programmet ger följande resultat.

Metodnamn Klassnamn
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 är värt att förklara.

Detta är en kodning av returvärden och parametrar för en funktion som kallas JNI Field Descriptors (JavaNative Interface Field Descriptors).

[ representerar en array, en representerar en endimensionell array, såsom [[ representerar en tvådimensionell array. Efter L står klassbeskrivning, slutligen; Indikerar slutet på klassens namn.

slutsats

1. Av ovanstående resultat kan man se att getName() och getCanonicalName() inte skiljer sig vid erhållning av vanliga klassnamn, men det finns en skillnad mellan att erhålla interna klasser och arrayklasser.

2. getSimpleName() skiljer sig inte vid erhållning av vanliga klass- och interna klassnamn, men det finns en skillnad när man erhåller arrayklasser.





Föregående:I Spring boot fångar JPA:s persistenta lyssnare upp tillägg, borttagningar och modifieringar
Nästa:java får objektets egenskapstyp, egendomsnamn och egenskapsvärde
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com