Avatar billede martinm Nybegynder
30. oktober 2002 - 21:29 Der er 5 kommentarer og
1 løsning

Object type

Hvordan kan jeg seom et Java Object er f.eks. af typen String, Vector eller MyClass?
Avatar billede magoo20000 Nybegynder
30. oktober 2002 - 21:30 #1
Man kan benytte getClass().getName() (get.Class...) - derved returneres der en String med Navnet på objektet!
Easy!
Avatar billede soreno Praktikant
30. oktober 2002 - 21:33 #2
eller lege lidt med instanceof:

if(mitObj instanceof String)
  //string
else if(mitObj instanceof Vector)
  //vector
else if(mitObj instanceof MyClass)
  //myclass
Avatar billede arne_v Ekspert
30. oktober 2002 - 21:34 #3
o.getClass().getName() vil returnere "java.lang.String",
"java.util.Vector" eller "mypackage.MyClass".

For primitive datatyper og arrays returnerer
den er kode som viser typen.
Avatar billede disky Nybegynder
30. oktober 2002 - 21:51 #4
soreno:
Den løsning kan tage lang tid hvis du ingen anelse har om object typen :)
Avatar billede soreno Praktikant
30. oktober 2002 - 22:12 #5
jaa, men det har ikke rigtigt været muligt at genneskue spørgers hensigt med identificering af objektet. Derfor syntes jeg der skulle et alternativ på banen. For hvis man så alligvel skriver noget ala:

String temp = o.getClass().getName()
if(temp.equals("java.lang.String"))
  //string
else if(temp.equals("java.lang.Vector"))
  /vector
else if(temp.equals("mypackage.MyClass"))
  //myclass

så er man jo lige vidt.. :-)
der er så muligvis en performance forskel - måske der er en der kan redegøre for det ?
Avatar billede martinm Nybegynder
30. oktober 2002 - 22:14 #6
Jeg mener, at getClass().getName() er optimal!
Magoo20000 kom først! Værsgo Magoo20k!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester