Vad betyder [L i t ex [Lfi.jme.MinKlass@121212 ?
Vad betyder [L inom Java?
14 svar · 1 459 visningar · startad av jme
Var läser du nu? Dumparna??
När jag kör System.out.println() på ett objekt.
Ah... Var tvungen att grotta ner mig lite i Javaspecifikationen innan jag hittad det.
[L i det här fallet betyder Long. Eller för att vara ännu mera exakt så är det pekaren till fi.jme.MinKlass.
Om det vore ett metodanrop så hade det kanske stått java.lang.Math.tan(D)D vilket betyder att metoden tan i Math ser ut såhär:
public Double tan(Double d);
I är integer, V är void, F är Float, B är boolean o.s.v.
Jag har en metod som returnerar ett Object.
Object o = getStuff();
System.out.println(o); // Skriver ut t ex [Lfi.jme.MinKlass@121212
Normalt så brukar det stå enbart fi.jme.MinKlass@121212
Varför står det nu [L?
Bra fråga. Inte den blekaste. Uppdaterat till Java5. Kör i något annat läge på JVM:en... inte vet jag.
Har 1.5 installerat på burken men Eclipse 3 är satt att skapa 1.4-kompatibel kod.
Och en snabb test visar att om man kompilerar med 1.5 i 1.4 läge så får man [L men med 1.4 endast så får man inte det. Alltså har det med nya java/c att göra förmodligen.
Spelar det någon roll??
Jo, projektet ska köras i 1.4 läge. Dock så har våra maskiner på jobbet 1.5.
Spelar det extra [L-et någon roll??
Nja, jag lyckas inte typecasta det till nåt. Får ClassCastException hela tiden,
Nu låste det sig dock. Vet inte hur. ;)
Kan tillägga att probelemet har göra med web services och klasserna genererade med wsdl-filen.
Det kan jag säga har absolut inget att göra med hur klassens beskrivning skrivs ut...
Hej!
Ett [ brukar berätta att objektet är en array men L'et vete fan vad det kommer från.
Mvh
phonk
Kan det ha nåt att göra med "left value" dvs värdet på vänster sida av =-tecknet?