[Java] Dynamishc gebruik van instanceof

Pagina: 1
Acties:

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
Hoi

weer een java probje. Het heeft te maken met OJB maar daar zit het probleem niet wel in hetvolgende.

ik heb een class die een object beheert en daarvan weet ie het Class - type: ie

Java:
1
Class mClass = mObjectDatIkBeheer.getClass();

eigenlijk doe ik een forName() aangezien de classname van XML komt. soit.

nu kan ergens ander gevraagd worden dat het eigenlijke obejct word gezet maar daarvoor wil ik wel effe zien of dat kan:
Java:
1
2
3
4
5
6
7
void setObject(Object aObject)
{
    if (aObject instanceof mClass)
   {
     ...
   }
}


maar dat compiled niet ook kan ik niet dynamsich casten:

Java:
1
mObject = (mClass)aObject;


Word ik nu weer verwacht een hele reflectie toestand erop los te laten en waarom aanvaard instanceof geen 'Class' als dat dynamisch is?

wel een rottig probleem ...

Verwijderd

hehe je cast naar een nieuwe class en cast gelijk weer terug naar een object. Maak een MClass mClass = (MClass) aObject;
Maar dat kan alleen als het daardwerkelijk een instatie is, anders kun je gebruik maken van een Proxy

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Met Class.isInstance () kun je kijken of een object een instantie is van de gegeven klasse

je:
Java:
1
if (aObject instanceof mClass)


wordt dan:
Java:
1
if (mClass.isInstance (aObject))


Het casten naar een mClass heeft niet echt veel nut: dat is puur zodat de compiler weet dat je object van dat type is, maar als je het type @ compiletime nog niet weet, heeft het dus ook weinig nut om te casten :)

[ Voor 4% gewijzigd door .oisyn op 04-04-2003 15:46 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
yo die isInstance() deed het em :) thx :)

mark:

die Object t = (aClass)Object was alleen maar om de 'ClassCast Exception' op te vangen om alsnog te weten te komen :)

qua nut: toch wel hoor -> in mijn code manipuleer ik de fields v/e classe
en die kunnen natuurlijk ook Primitive zijn en moet ik een setInt/Double/ etc aanroepen dus ik wel degelijk weten of ze de juiste Classes zijn.

Maar kan weer verder!!! :)

  • Rinusch
  • Registratie: Mei 2002
  • Laatst online: 24-05 07:17
hobbit_be schreef op 04 April 2003 @ 15:04:
Java:
1
Class mClass = mObjectDatIkBeheer.getClass();
Is dit java voor objectbeheerders?> je weetwel, die pseudoagentjes die je nix kunnen maken B)

... Life is what happens when you are busy planning other things...


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
nee het is mijn mooie coding guidelines :)
Java:
1
2
3
for (int tSteedsStijgendGeheelGetal = 0; tSte... < eenErgGrootGetalDatDeMaximumIs;
         tel1BijIetsOp(tSteedd..)
{}


als dat niet vlot leest ... :)

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 15-08 20:11
[overbodig]

[ Voor 89% gewijzigd door Postman op 04-04-2003 19:52 ]


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
off topic:

ok - ok zal de rot slechte pogingen tot humour maar voor mezelf houden - zware dag achter de rug

on topic
Pagina: 1