Archief - [PROG][JAVA] String = methode

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

CyberOps

Legacy Member
Bestaat er een mogelijkheid om adhv een String meteen een methode aan te roepen? ik verduidelijk even:

stel ik heb een tekstinvoerveld en als ik hierin vb. "action" typ, zou de methode
public void action() {} moeten aangeroepen worden enzovoort...

Gaat dit op één of andere manier? Of ben ik gedoemd om een supersize "if-lus" te coden?

_DKsissor_

Legacy Member
kunt ge nie uw input in een string zetten en die vergelijken met een string met action in en als ze equal zijn uw functie oproepen?

killgore

Legacy Member
je gaat sowieso ergens een lijst moeten maken he. Anders zouden ze zelfs systeemfuncties kunnen aanroepen :p.

Een mapping is hiervoor het beste denk ik.

[BAT] Hydra

Legacy Member
Inderdaad

mijn zelf gemaakt demootje:D

Code:
import java.lang.reflect.*;

public class ReflectionDemo {
	public static void main(String[] args) {
		String toPerform = "action2";
		try {
			Method meth = ReflectionDemo.class.getMethod(toPerform,new Class[]{});
			meth.invoke((Object)null, (Object[])null);
		} catch(Exception e) {}
	}
	
	public static void action1() {
		System.out.println("performing action1");
	}
	
	public static void action2() {
		System.out.println("performing action2");
	}
}

Ice

Legacy Member
Op zo'n momenten ben ik toch blij met smalltalk

myClass perform: #methodSelector withArguments: nenArrayVanParamters

en blaf tis in orde

CyberOps

Legacy Member
very nice indeed :bow: Ik dacht wel dat er zoiets bestond :)
thx

WHiSPy

Legacy Member
Gebruik aub de getDeclaredMethods methode. Anders ga je de toString, hashCode, clone, finalize, wait, etc naar de client propageren. En dat lijkt me nu net ook niet de bedoeling. ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan