我使用反射來檢索一個實例字段如此的原語的數組:使用反射來檢索未知類型
private int[] numbers = ....
隨着字段對象,我可以檢查如果該字段包含的陣列如果是這樣,我想循環遍歷數組中的整數。因此,如果包含上述領域的對象被稱爲「富」,那麼我將有這樣的事情:
field.setAccessible(true);
Object value = field.get(foo);
上述數值變量將包含我的int數組。我如何像普通數組那樣處理這個對象並迭代它的值?
編輯:對不起,我錯過了上述我的故事的關鍵點。我以通用的方式進行上述操作,因此我不知道數組包含的是什麼原始數據。它可能是一個int []或long []等等。因此,在long []情況下顯然不適用於int []。哎呀!
我可以看到get方法將檢索某個索引處的值,但是,如何獲取數組的長度? – digiarnie 2010-08-04 12:01:03
@digiarnie,這個方法有點隱藏在其他getter之間的javadoc中,它是'Array.getLength(Object array)':) – 2010-08-04 12:41:31
是的,這正是我想要的,是的,你是對的,它隱藏在所有那些其他的獲得者,我只是簡單地錯過了!謝謝! – digiarnie 2010-08-04 23:07:01