1

我正在使用以下方法通过在 php 中使用这种类型的动态 getter 方法来获取值。这可以在 getter 方法 java 或 android 中获取值吗?

$objects = array("model", "make", "version");
          foreach ($objects as $object) {
              $getter = "get".ucfirst($object);
              if (is_object($iProduct->$getter())) {
                  echo "getvalue"+$iProduct->$getter()
          }
4

1 回答 1

2

你可以用反射做类似的事情:

String[] objects = { "model", "make", "version" };
Class k = iProduct.class;
String getter;
Method m;
for(int i=0; i<objects.length; i++) {
    try {
        getter = "get" + Character.toUpperCase(objects[i].charAt(0)) + objects[i].substring(1);
        m = k.getMethod(getter, null);
        System.out.println("getvalue" + m.invoke(iProduct));
    }
    catch(NoSuchMethodException ex) {
        //this particular getter doesn't exist
    }
}
于 2013-07-02T13:33:29.980 回答