/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
getClass().getName() på et Object, som har~
Fra : Søren Berg Glasius


Dato : 13-05-03 13:52

Jeg har en funktion, hvor jeg gerne vil finde ud af, hvilken klasse et givet
objekt kommer fra.

Dette gøres som bekendt nemt med

public void funktion(Object value) {
System.out.println("Class: "+value.getClass().getName()); // giver en
NullPointerException, når value = null
}

Kaldes funktion med f.eks

Integer i = null;
funktion(i);

Så må 'i' vel have typen Integer også selv om værdien er null? - og så må
value i 'funktion' vel også have typen Integer?

Nogle forslag???

MVH
Søren



 
 
Morten Krogh Anderse~ (13-05-2003)
Kommentar
Fra : Morten Krogh Anderse~


Dato : 13-05-03 14:56

> Integer i = null;
> funktion(i);
>
> Så må 'i' vel have typen Integer også selv om værdien er null? - og så må
> value i 'funktion' vel også have typen Integer?

I Java er alle "objekter" kun reference til reelle objekter!

Dvs. at der ovenfor står:

"Her er en pegepind, som kan pege på en Integer, men lige nu peger den
ud i den blå luft."

Du bliver nødt til at give i et objekt at pege på, for at du kan
bestemme dets klasse.

Mvh. Morten


Søren Berg Glasius (13-05-2003)
Kommentar
Fra : Søren Berg Glasius


Dato : 13-05-03 21:12

> I Java er alle "objekter" kun reference til reelle objekter!
>
> Dvs. at der ovenfor står:
>
> "Her er en pegepind, som kan pege på en Integer, men lige nu peger den
> ud i den blå luft."
>
> Du bliver nødt til at give i et objekt at pege på, for at du kan
> bestemme dets klasse.

Hej Morten,

Ja det er desværre en logisk forklarring - så jeg må vist finde på noget
andet (det kan jeg nok også

/Søren



LiFo (17-05-2003)
Kommentar
Fra : LiFo


Dato : 17-05-03 11:17

du kan bare cheke om det er null

public void funktion(Object value) {
if(value==null){
System.out.println("der er ikke noget objektl");
}else System.out.println("Class: "+value.getClass().getName());
}

"Søren Berg Glasius" <Soeren@SPAM.Glasius.Dk> wrote in message
news:3ec0ea73$0$24726$edfadb0f@dread14.news.tele.dk...
> Jeg har en funktion, hvor jeg gerne vil finde ud af, hvilken klasse et
givet
> objekt kommer fra.
>
> Dette gøres som bekendt nemt med
>
> public void funktion(Object value) {
> System.out.println("Class: "+value.getClass().getName()); // giver en
> NullPointerException, når value = null
> }
>
> Kaldes funktion med f.eks
>
> Integer i = null;
> funktion(i);
>
> Så må 'i' vel have typen Integer også selv om værdien er null? - og så må
> value i 'funktion' vel også have typen Integer?
>
> Nogle forslag???
>
> MVH
> Søren
>
>



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408193
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste