Gau*_*hah 2 java android function
我有类似这样的课
class MClass
{
private int mem1,mem2,mem3.......;
public int getmem1()
{
return mem1;
}
public int getmem2()
{
return mem2;
}
......
Run Code Online (Sandbox Code Playgroud)
现在我想要这样的东西:
public int getAttr(String attr)
{
if (attr=="mem1")
return mem1;
elseif (attr=="mem2")
return mem2;
.....
Run Code Online (Sandbox Code Playgroud)
如何为1000s attr实现getAttr?
请不要让我把mem作为数组...由于程序的其他部分而无法实现.
使用反射.反射
这将允许您在运行时使用方法名称作为String调用任何公共方法.
Class c = Class.forName("MyClass");
Method m = c.getMethod("get"+arg);
return (Integer) m.invoke(this);
Run Code Online (Sandbox Code Playgroud)