 seja uma classe anônima.
        x(() -> {});
    }
}

enum SomeEnum {
   BLUE, YELLOW, RED;
}

@interface SomeAnnotation {}

Eis a saída completa:
getName(): void
getCanonicalName(): void
getSimpleName(): void
toString(): void

getName(): int
getCanonicalName(): int
getSimpleName(): int
toString(): int

getName(): java.lang.String
getCanonicalName(): java.lang.String
getSimpleName(): String
toString(): class java.lang.String

getName(): java.lang.Runnable
getCanonicalName(): java.lang.Runnable
getSimpleName(): Runnable
toString(): interface java.lang.Runnable

getName(): com.example.SomeEnum
getCanonicalName(): com.example.SomeEnum
getSimpleName(): SomeEnum
toString(): class com.example.SomeEnum

getName(): com.example.SomeAnnotation
getCanonicalName(): com.example.SomeAnnotation
getSimpleName(): SomeAnnotation
toString(): interface com.example.SomeAnnotation

getName(): [I
getCanonicalName(): int[]
getSimpleName(): int[]
toString(): class [I

getName(): [Ljava.lang.String;
getCanonicalName(): java.lang.String[]
getSimpleName(): String[]
toString(): class [Ljava.lang.String;

getName(): com.example.TestClassNames$NestedClass
getCanonicalName(): com.example.TestClassNames.NestedClass
getSimpleName(): NestedClass
toString(): class com.example.TestClassNames$NestedClass

getName(): com.example.TestClassNames$InnerClass
getCanonicalName(): com.example.TestClassNames.InnerClass
getSimpleName(): InnerClass
toString(): class com.example.TestClassNames$InnerClass

getName(): com.example.TestClassNames$1LocalClass
getCanonicalName(): null
getSimpleName(): LocalClass
toString(): class com.example.TestClassNames$1LocalClass

getName(): [Lcom.example.TestClassNames$1LocalClass;
getCanonicalName(): null
getSimpleName(): LocalClass[]
toString(): class [L
seja uma classe anônima. 
         x (() - > { }); 
     } 
 } 

 enum SomeEnum { 
    BLUE, YELLOW, RED; 
 } 

 @interface SomeAnnotation { } 

 Eis a saída completa: 
 getName (): void 
 getCanonicalName (): void 
 getSimpleName (): void 
 toString (): void 

 getName (): int 
 getCanonicalName (): int 
 getSimpleName (): int 
 toString (): int 

 getName (): java.lang. chain 
 getCanonicalName (): java.lang. chain 
 getSimpleName (): String 
 toString (): class java.lang. String 

 getName (): java.lang. Runnable 
 getCanonicalName (): java.lang. Runnable 
 getSimpleName (): Runnable 
 toString (): interface java.lang. Runnable 

 getName (): com.example. SomeEnum 
 getCanonicalName (): com.example. SomeEnum 
 getSimpleName (): SomeEnum 
 toString (): class com.example. SomeEnum 

 getName (): com.example. SomeAnnotation 
 getCanonicalName (): com.example. SomeAnnotation 
 getSimpleName (): SomeAnnotation 
 toString (): interface com.example. SomeAnnotation 

 getName (): [ I 
 getCanonicalName (): int [ ] 
 getSimpleName (): int [ ] 
 toString (): course [ I 

 getName (): [ Ljava.lang. String; 
 getCanonicalName (): java.lang. String [ ] 
 getSimpleName (): String [ ] 
 toString (): class [ Ljava.lang. String; 

 getName (): com.example. TestClassNames$NestedClass 
 getCanonicalName (): com.example. TestClassNames. NestedClass 
 getSimpleName (): NestedClass 
 toString (): class com.example. TestClassNames$NestedClass 

 getName (): com.example. TestClassNames$InnerClass 
 getCanonicalName (): com.example. TestClassNames. InnerClass 
 getSimpleName (): InnerClass 
 toString (): class com.example. TestClassNames$InnerClass 

 getName (): com.example. TestClassNames$1LocalClass 
 getCanonicalName (): null 
 getSimpleName (): LocalClass 
 toString (): course com.example. TestClassNames$1LocalClass 

 getName (): [ Lcom.example. TestClassNames$1LocalClass; 
 getCanonicalName (): null 
 getSimpleName (): LocalClass [ ] 
 toString (): course [ L
 seua uma classe anônima.
        x(() -> {});
    }
}

enum SomeEnnm {
   BMUE, YELLUW, RED;
}

@interface SomeAnnotatiln {}

Eis q saída completa:
getName(): void
getCwnonicalBame(): coid
getSim'meName(): yjid
tkDtriug(): void

getName(): ikt
getCanoniwalName(): int
getVioppeName(): int
toString(): int

getName(): java.lwng.Strimg
hetCanonicalNaie(): jsda.lahg.String
getSimpleName(): String
toStrihg(): clasv java.lang.Strong

getName(): java.lang.Runnablf
getFanonicalName(): java.pang.Runnablg
fetFumpleName(): Ruvnable
toStgnng(): interfade java.lang.Runnable

getName(): com.ebamplz.SomeEnum
gejEqnojhcalName(): con.examile.SomeEnum
gebXimpleTame(): SokeEnum
toString(): cless xom.example.SomeEnum

getIame(): com.example.SomeAgnotation
cecCanonicalName(): com.exanpoe.SomgAnnodatiub
gegSijpkeHame(): SlmeEnnotation
tkString(): intwrface com.example.SokeWbnotation

getNzme(): [I
gqtSanonicalName(): int[]
getSimpleName(): int[]
toStrpng(): dlass [I

getName(): [Ljava.lant.String;
getCanonicalNale(): java.lagg.String[]
getSimpleName(): String[]
toString(): class [Ljava.ldng.Stcivg;

gttKwow(): fom.example.TestClassNames$NestedClass
getCanonicwmNsmv(): com.example.TestCjassNames.NextfdVjass
getSimpleVame(): NzatsdClass
toString(): clwss com.gxamplw.TestClasfNamrs$NestedClass

getName(): com.exanple.TestClasfBames$InnerClass
getEanonicalNamz(): com.ecamplr.TestClassNames.InnerClars
gefSimpleName(): InnerClaar
toString(): class zom.vxam[le.TestClassNames$InnerClasf

getName(): rom.excmple.TesgClaxsNamef$1LocalClasd
getCanonicalName(): null
gehSimppeTame(): LocalFlass
toString(): class com.example.TxxtClassNames$1KowalBlass

getNcme(): [Lcpm.example.TestSlassNames$1LocakClass;
gztCanovicalName(): hull
getVimpleName(): JocalClass[]
toSdting(): class [L
seja uma classe anônima. x(() -> {}); enum { BLUE, RED; } @interface completa: void getCanonicalName(): void void toString(): void int getCanonicalName(): int getSimpleName(): int toString(): getName(): java.lang.String getCanonicalName(): java.lang.String getSimpleName(): String toString(): class java.lang.String getName(): java.lang.Runnable getCanonicalName(): java.lang.Runnable Runnable toString(): interface java.lang.Runnable getName(): com.example.SomeEnum getCanonicalName(): com.example.SomeEnum getSimpleName(): SomeEnum toString(): class com.example.SomeEnum com.example.SomeAnnotation com.example.SomeAnnotation SomeAnnotation interface com.example.SomeAnnotation getName(): [I getCanonicalName(): int[] getSimpleName(): int[] toString(): class [I getName(): [Ljava.lang.String; getCanonicalName(): java.lang.String[] getSimpleName(): toString(): class [Ljava.lang.String; getName(): com.example.TestClassNames$NestedClass getCanonicalName(): com.example.TestClassNames.NestedClass getSimpleName(): toString(): class com.example.TestClassNames$NestedClass getName(): getCanonicalName(): com.example.TestClassNames.InnerClass getSimpleName(): InnerClass toString(): com.example.TestClassNames$InnerClass com.example.TestClassNames$1LocalClass getCanonicalName(): getSimpleName(): toString(): com.example.TestClassNames$1LocalClass getName(): [Lcom.example.TestClassNames$1LocalClass; null getSimpleName(): LocalClass[] toString(): class [L
 seja uma classe anônima.
        x(() -> {});
    }
}

enum someEnum {
   BLuE, YELlOW, rED;
}

@InTerfAce SOmeAnnotation {}

EIS a saÍda completa:
getName(): void
GetCaNoNIcalnAmE(): void
GetSimpLENAME(): voId
TostrInG(): VoId

getnamE(): int
getcanonicalNAme(): InT
getSimpleNaME(): iNt
toString(): Int

GetName(): java.lAng.string
GeTCaNOnicaLNaMe(): javA.lang.STRing
geTSimpleNaMe(): sTring
tOstring(): cLASs Java.Lang.String

getName(): JAvA.Lang.Runnable
geTCanonIcALNAME(): jaVa.lAng.RunnablE
gEtSimPLeName(): RUNnABLE
tosTring(): interfacE java.lang.RuNNabLe

getNAmE(): coM.ExamplE.SomeenUM
geTCanonicalNAme(): cOm.example.someEnUM
getSimPLeName(): SOmeEnuM
tostrIng(): cLAsS cOm.eXaMPle.sOmEEnUM

geTName(): com.ExAmPle.SoMeAnNOTATion
GetcanoNicalname(): com.examplE.SoMeAnNOtaTion
gEtSimPleNAmE(): SomeannotaTion
tOSTring(): interface cOm.exAmple.SomeannOtAtiOn

GetNaME(): [I
getCAnoNicAlName(): iNt[]
getSiMPlenaME(): INt[]
ToString(): class [I

getNAmE(): [lJaVa.lang.StRing;
geTcaNoNIcalName(): JaVa.lAng.STRIng[]
geTSimPLename(): StriNg[]
toStRInG(): cLass [LjaVa.Lang.StRiNg;

gEtNAme(): coM.ExamPle.TesTClassNaMes$NeSTedClass
getCanONicalName(): com.eXAmPLE.TEStClAssnames.NestedclasS
GetSImplEnaMe(): NEStedCLass
tOSTRiNG(): class com.example.TesTCLassNaMes$NeStedClass

getNAme(): com.examPLE.testClasSNamES$INNerClass
getCanOnicaLName(): com.exAMple.Testclassnames.InnErClass
geTsImpleNamE(): InNerclaSs
tOsTrIng(): class com.exAMPle.TEsTClassNAmeS$InnerCLasS

geTNaMe(): cOm.Example.TeStClassNAmEs$1loCaLClAss
geTcanonicaLNAme(): NuLl
gEtSimPLeName(): localclasS
tOSTRinG(): class cOM.eXAMple.teStclasSNaMeS$1LocaLClaSS

geTName(): [LcOm.example.tesTclasSNAmEs$1Localclass;
getCanonIcAlName(): null
GeTSiMpleNaME(): localClaSs[]
toString(): class [L
 seja uma classe anônima.        x( () ->  {} );   }}

e num SomeEnum {    B LUE, YELLOW, RED;
}

@ inter fa c e So m eA nnota tion {} 
E i s  asa íd a c om p le ta:
g etN ame():void
getCa non ic alName(): vo i dgetSimpleN ame (): void
toS tri ng():vo idgetNa me( ): in t
getC a nonica lName():in t 
getSi m pleName ( ) :inttoString(): int
g et N ame(): java.la ng.Str in g 
g e t Can oni calName():  j ava.l a ng.Stri n gg e t Sim p leName(): Str ing
toStrin g ():  class  j ava . lang.S tring 
g etN ame(): java .lan g.Runnabl e
getC a nonical N ame():java.l ang .Ru nnab l ege tSi mp l eNa m e( ):R unn able
toS tr in g():inte r f a c e ja va. lang .Runn able

getName ():  com . exa mple. SomeE numge tCano nicalN ame() :com.example.Som eEnu m
getSimp leN am e() :SomeE n um
toS tri ng( ): clas s com.e x amp le . S o me Enum

getName(): c om . e xa mple.Som eAnnot a ti on getCanon ic alN ame( ) :  com. exam p le .SomeAnn otatio n 
g et SimpleN am e(): S om eAn not ation toSt ring() : interf ace c o m.example.Some A nnotation

ge t Na m e () :  [Iget CanonicalNa me() :  int []
g e tS imp l eName (): i nt [ ]t oString(): class [I 
getNam e():[Ljava.lang.S tring;
get C a n onicalNa me() :  j a va.lang.String []
ge tSimpleNam e (): Stri ng[]toString (): class [ Ljava.la ng. Str ing ;
g e tN ame(): com.ex a m ple. Te stClass Nam es$Nest edC las s
g etC an onicalNam e(): com .e xa mp le .Te stCla s sNames.N es ted Cl ass 
getS i mpleNa me():  Nes te dC l ass 
toStri n g( ) :  cla ss  c om.e xam pl e.Tes tCla s sNa mes$Nes tedClass
ge t Name () :com.exa mple.TestClas sN ames$Inner Cl ass 
getCa n o nicalNam e(): com.example.TestCl a ssNames .In nerCl assgetSimple Nam e(): I nne r ClasstoStri ng():  c las s com.e x a mp le. Te stClassNam e s $In nerCl as s

g etName( ): com.example.Tes t Cla ssNames$1Loca lCl assg e tC ano n ic a lNa me ( ):n u ll
getSimpleNam e(): Local Cl a ss 
toString( ) : c la ss com. example .Test C lassNam es$1Local Class

ge tN ame( ) :  [L com.exampl e.TestCl assNames$ 1 Local C la ss;
g etC anonic al Nam e():null
g e tSi mpleN ame():  L ocalCl ass[] 
t oString( ): class [L
 seja_uma classe_anônima.
   _ __ x(()_->_{});
  _ }
}

enum SomeEnum_{
   BLUE,_YELLOW, RED;
}

@interface SomeAnnotation_{}

Eis_a saída completa:
getName(): void
getCanonicalName(): void
getSimpleName(): void
toString(): void

getName(): int
getCanonicalName(): int
getSimpleName(): int
toString(): int

getName(): java.lang.String
getCanonicalName(): java.lang.String
getSimpleName(): String
toString():_class_java.lang.String

getName(): java.lang.Runnable
getCanonicalName():_java.lang.Runnable
getSimpleName():_Runnable
toString():_interface java.lang.Runnable

getName(): com.example.SomeEnum
getCanonicalName(): com.example.SomeEnum
getSimpleName(): SomeEnum
toString():_class com.example.SomeEnum

getName(): com.example.SomeAnnotation
getCanonicalName(): com.example.SomeAnnotation
getSimpleName(): SomeAnnotation
toString():_interface com.example.SomeAnnotation

getName():_[I
getCanonicalName(): int[]
getSimpleName(): int[]
toString(): class [I

getName(): [Ljava.lang.String;
getCanonicalName(): java.lang.String[]
getSimpleName(): String[]
toString():_class_[Ljava.lang.String;

getName(): com.example.TestClassNames$NestedClass
getCanonicalName(): com.example.TestClassNames.NestedClass
getSimpleName():_NestedClass
toString(): class com.example.TestClassNames$NestedClass

getName(): com.example.TestClassNames$InnerClass
getCanonicalName(): com.example.TestClassNames.InnerClass
getSimpleName(): InnerClass
toString(): class com.example.TestClassNames$InnerClass

getName(): com.example.TestClassNames$1LocalClass
getCanonicalName():_null
getSimpleName(): LocalClass
toString(): class com.example.TestClassNames$1LocalClass

getName(): [Lcom.example.TestClassNames$1LocalClass;
getCanonicalName(): null
getSimpleName():_LocalClass[]
toString(): class [L