給定描述類A
的Class<?>
,是否有可能獲得與類A[]
匹配的Class<?>
?獲取給定類的數組類<?>
Class<?> clazz = A.class;
Class<?> arrayclazz = clazz.toArray(); // ??
assert arrayclazz.equals(A[].class);
給定描述類A
的Class<?>
,是否有可能獲得與類A[]
匹配的Class<?>
?獲取給定類的數組類<?>
Class<?> clazz = A.class;
Class<?> arrayclazz = clazz.toArray(); // ??
assert arrayclazz.equals(A[].class);
使用A[].class
。我希望這個幫助。
以'A'作爲例子。我實際上只有一個'類>'。 – 2011-02-23 13:18:12
這是一個巧妙的把戲。但是無論如何要保存新實例嗎? – 2011-02-23 13:19:08
@Idan K你可以破解字符串,但創建零長度數組的開銷很小。可能少於創建中間'String'和'StringBuilder',然後解析並查找類。當然,最好的辦法是避免反射,甚至完全參考陣列。 – 2011-02-23 13:20:15
@Tom:這很有道理。我只是有點驚訝,沒有任何Java在沒有訴諸這些技巧的情況下直接做到這一點。 – 2011-02-23 13:23:13