|
| 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
>
>
| |
|
|