2013-03-15 83 views

回答

5

對應的原語類型是Long.TYPE

public static final Class<Long> TYPE

的Class實例表示基本類型long

如果你有一個「包裝」類的實例,可以通過反射得到相應的原始的,就像這樣:

static <T> Class<T> getPrimitive(Class<T> wrapper) 
    throws NoSuchFieldException, IllegalAccessException { 
    return (Class<T>)wrapper.getDeclaredField("TYPE").get(null); 
} 

這裏是一個。

+0

很酷。這是我正在尋找的,thx。 – imgen 2013-03-15 09:36:46

+0

重新思考之後,這其實不是我的意思。我想我必須從java.lang類型構建一個映射到內置類型。 請參閱編輯問題 – imgen 2013-03-15 09:41:51

+1

@imgen您也可以通過訪問相應包裝類型的「TYPE」字段來反射。 – dasblinkenlight 2013-03-15 09:43:14