2017-12-08 2 views
0

ich auf Android Studio arbeite, und ich möchte folgendes erreichen:Pass Klasse Variable als Argument

Ich habe diese Klasse mit einigen Variablen:

class test { 
    private String prop1; 
    private int prop2; 
    private boolean prop3; 
} 

Ich möchte eine ‚allgemeine‘ erstellen Verfahren, die eine gewisse Variable auf einen neuen Wert ändern können, wie: fragen

public changeVar(Variable var, Value val) { 
    this.var = val; 
} 

ich mich, ob es das zu tun jede kluge Weise ist ohne die Notwendigkeit, Zehn Set-Methoden für jede Variable zu machen.

Vielen Dank.

Antwort

0

Wenn Sie nur müde sind zu schreiben (oder generieren) Getter/Setter für Ihren Code und/oder nicht möchten, dass die Getter/Setter-Sachen Ihren Code boilern, dann würde ich empfehlen, einige externe Tools wie Lombok zu überprüfen, siehe besonders Anmerkungen @Getter&@Setter. Für Android Studio.

Siehe Is it safe to use Project Lombok?

auch wenn Sie es wirklich, wie Sie die Antwort dann vorschlagen machen wollen könnte reflection sein. Es gibt einige Beiträge über es in SO, wie:

Java, set field value with reflection

java reflection nested object set private field

Aber: Auch ich bin nicht so sicher, ob es klug ist, es zu tun Reflexion verwendet wird. Es könnte die Dinge sehr verschleiern.