我想要一個函數將類映射到類,例如int.class - > Integer。如何獲得對應於原始類型的引用類型?
回答
這不是專門的香草JDK提供的,但如果你不想鞭打你自己的,Guava提供Primitives.wrap(Class)
,它接受原始類型並返回相應的包裝類型。
另外[ClassUtils.primitiveToWrapper(Class)](http://commons.apache.org/lang/api-release/org/apache/commons/lang3/ClassUtils.html #primitiveToWrapper(java.lang.Class))在Apache Commons Lang中也是如此 – Grim 2013-02-11 21:10:18
對於整數:
int.class or the equivalent: Integer.TYPE;
同樣爲其它基元類型
double.class or Double.TYPE
float.class or Float.TYPE
char.class or Character.TYPE
long.class or Long.TYPE
boolean.class Boolean.TYPE
如下使用它:
Class intClass = int.class;
然後,這是表示基本類型int的類。
有了這些信息,您只需編寫自己的映射:(您不想包括8行代碼的外部LIB)
public Class getClassForPrimitiveType(Class clazz) {
if (clazz == int.class) return Integer.class;
if (clazz == float.class) return Float.class;
// TODO other primitives
}
這將給出原始類型的類,即'int.class'不''Integer.class' – Alex 2013-02-11 20:30:59
謝謝,更新 – AlexWien 2013-02-11 20:37:05
而不是'Integer.Type',你也可以使用'int.class';對我來說這更清楚,並減少混合它的機會。 – Cephalopod 2013-02-11 20:38:30
- 1. Boost.Any獲得原始類型
- 2. 原始類型。引用泛型類型,應參數
- 3. 如何獲得原始類型的模型的在Django
- 4. 如何獲得類引用泛型類
- 5. typedef - 原始類型到原始類型
- 6. 將原始類型應用到原始類型
- 7. 如何獲得對參數化類型的類引用
- 8. OCMockito捕獲原始類型?
- 9. 對原始類型雙「
- 10. 對象或原始類型
- 11. javascript中的原始數據類型和引用數據類型
- 12. 如何獲得類類型
- 13. 如何用Javassist獲取原始類型的類?
- 14. Java - 引用原始數據類型?
- 15. 如何從對象類型獲得泛型類型
- 16. 對於引用類型
- 17. 整型爲原始類型
- 18. 原型中原始類型的行爲
- 19. 與原始類型
- 20. Bash原始類型
- 21. 如何應用類型類的索引?
- 22. 如何正確使用原始類型
- 23. 如何使用getMethod()和原始類型?
- 24. SSE數據類型和原始類型
- 25. 對原始類型使用屬性
- 26. 關於mybatis的參數類型爲原始數據類型?
- 27. 參數對象的類型[類型]不是原始的
- 28. Eclipse警告 - 類是原始類型。引用泛型類型類<T>應該是參數
- 29. 你如何引用Clojure中的原始Java類型?
- 30. 如何獲得用於比較的類的類型
你能給我們一個這個目的嗎? – 2013-02-11 20:24:50
當然 - 我正在使用反射來修復我從Jython調用的Java API。 API使用Java整型類型,就好像它們是無符號的,例如short的範圍爲0 - 65535.爲此,我需要找到short.MAX_VALUE給定short,以此類推。 – fizzer 2013-02-11 21:20:07
不知道爲什麼這個關閉。這個問題似乎毫不含糊,答案似乎是正確的。 – fizzer 2013-02-12 19:55:49