我正在使用Android Studio,我想完成以下任务:
我有这个类有一些变量:
class test {
private String prop1;
private int prop2;
private boolean prop3;
}
我想创建一个'泛型'可以将某些变量更改为新值的方法,如:
public changeVar(Variable var, Value val) {
this.var = val;
}
我想知道是否有任何聪明的方法可以做到这一点而无需为每个变量设置数十个set方法。
谢谢。
答案 0 :(得分:0)
如果你只是厌倦了为你的代码编写(或生成)getter / setter和/或不喜欢让你的代码更好的getter / setter东西,那么我建议你检查一些外部工具,如{{3} },请参阅特别注释Lombok。对于@Getter&@Setter。
如果你真的想按照你的建议去做,那么答案可能是reflection
。在SO中有一些关于它的帖子,如:
Is it safe to use Project Lombok?
Java, set field value with reflection
但是:我不太确定使用反射是否聪明。它可能会使事情变得模糊不清。