有没有java对象的属性或方法用变量值代替的语法,就像js一样

var item ={userId:123};

var oldVal = item.userId;

var colId = "userId";

var newVal = item[colId];




像这样,java有没有不用在代码中写死的方法?放在方法名或属性名的位置


bean.get(); 这样代码就写死了

bean.{arg}(); 的话

arg="get"; 那么就是bean.get()

arg="set"; 那么就是bean.set()

用java的语法能做到吗?



对反射的回复 : 我是想在类里写bean.{arg}();然后传入参数arg以达到动态方法名或属性名,反射是在此类的外边对对象方法的任意调用,也就是说从代码级别上达到动态.

2个回答

jaca中的反射就是做这个的。

warldge
warldge 回复贵阳挖掘机马善福,自备车辆专业挖游泳池: 这样的话看来java没有这种语法.
5 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复warldge: 代码级别是不行。
5 个月之前 回复
warldge
warldge 对反射的回复 : 我是想在类里写bean.{arg}();然后传入参数arg以达到动态方法名或属性名,反射是在此类的外边对对象方法的任意调用,也就是说从代码级别上达到动态.
5 个月之前 回复

看看java的反射,反射就是干这个事的。

warldge
warldge 对反射的回复 : 我是想在类里写bean.{arg}();然后传入参数arg以达到动态方法名或属性名,反射是在此类的外边对对象方法的任意调用,也就是说从代码级别上达到动态.
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!