petterg Skrevet 20. november 2005 Skrevet 20. november 2005 (endret) Både i javascript og php har jeg brukt en slik funksjon. Finnes noe tilsvarende i java? php: $a = "metode()"; eval($a); Hvordan gjøres tilsvarende i java? Den kodesnutten skal altså gjøre et kall til metode(). (Jeg er klar over de potensielle sikkerhetsproblemene det kan medføre om man ikke holder tunga rett i munnen. Men det er mye mer fleksibelt enn en gigantisk switch-blokk!) Endret 20. november 2005 av petterg
mar Skrevet 20. november 2005 Skrevet 20. november 2005 Er det noe sånt som dette du tenker på? RefTest rt = new RefTest(); Method m = rt.getClass().getMethod("add"); m.invoke(rt); Linje 1: Oppretter et objekt av klassen RefTest, denne klasseninneholder metoden "void add()". Linje 2: Henter metoden med navnet "add" fra klassen RefTest. Linje 3: Kjører metoden i referanse "m" (som er "add" metoden) i objektet "rt".
petterg Skrevet 20. november 2005 Forfatter Skrevet 20. november 2005 Det ser ut som akkurat hva jeg var på jakt etter. Mange takk!
blackbrrd Skrevet 29. november 2005 Skrevet 29. november 2005 problemer som dette går det gjerne an å løse ved hjelp av arv og interfaces istedetfor å ty til kode som ikke blir sjekket av kompilatoren.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå