petterg Skrevet 20. november 2005 Del 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 Lenke til kommentar
mar Skrevet 20. november 2005 Del 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". Lenke til kommentar
petterg Skrevet 20. november 2005 Forfatter Del Skrevet 20. november 2005 Det ser ut som akkurat hva jeg var på jakt etter. Mange takk! Lenke til kommentar
blackbrrd Skrevet 29. november 2005 Del 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. Lenke til kommentar
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å