2013-07-02 41 views
1

我正在使用下面的方法通過在php中使用這種類型的動態getter方法來創建值。是否有可能在getter方法java或android中獲得值?從數組中動態使用getter和setter方法

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

在Java中,你可以使用[反映](http://docs.oracle.com/javase/tutorial/reflect/)來動態找出一個類中存在哪些方法,然後調用它們。 –

回答

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 
    } 
}