我有一段代码,我需要在方法中传递字段的类。由于我的代码机制,我只能处理引用对象,而不能处理基元。我想要一种简单的方法来确定是否Field
的类型是原始类型,并将其与适当的包装类交换。所以在代码中我到目前为止所做的是这样的:
Field f = getTheField(); // Dummy method that returns my Field
Class<?> c = f.getType();
if (c == int.class) {
c = Integer.class;
}
else if (c == float.class) {
c = Float.class;
}
// etc
myMethod(c);
这工作得很好,除了我需要显式检查所有原始类型并将它们与适当的包装类交换之外。现在我知道没有那么多原始类型,简单地列出所有类型不会有问题,但我想知道是否有一种更简单、更优雅的方法来做到这一点。
阿帕奇公共语言 http://commons.apache.org/lang/有一个实用方法可以做到这一点(ClassUtils.primitiveToWrapper() http://commons.apache.org/lang/api-release/org/apache/commons/lang/ClassUtils.html#primitiveToWrapper%28java.lang.Class%29),这在幕后同样丑陋,但至少你可以假装它很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)