Java - dobite ime trenutnega razreda?
Vse, kar poskušam storiti, je, da dobim trenutno ime razreda, java pa na konec imena mojega razreda doda neuporaben nesmisel $1. Kako se ga lahko znebim in vrnem samo dejansko ime razreda?
String className = this.getClass().getName();
258
3
"$1" ni "neuporaben nesmisel". Če je vaš razred anonimen, se doda številka.
Če ne želite samega razreda, temveč njegov deklarirajoči razred, lahko uporabite
getEnclosingClass()
. Na primer:To lahko prenesete v kakšno statično uporabno metodo.
Vendar upoštevajte, da to ni trenutno ime razreda. Anonimni razred je drugačen razred kot njegov obkrožajoči razred. Podobno velja za notranje razrede.
Poskusite uporabiti to
this.getClass().getCanonicalName()
alithis.getClass().getSimpleName()
. Če gre za anonimni razred, uporabitethis.getClass().getSuperclass().getName()
V vašem primeru se
this
verjetno nanaša na anonimni primerek razreda. Java daje tem razredom ime tako, da imenu obkrožajočega razreda doda$številko
.