我有一段代码需要在方法中传递字段的类。由于我的代码的机制,我只能处理引用对象而不是基元。我想要一种简单的方法来确定 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);
除了我需要显式检查所有基本类型并将它们与适当的包装类交换之外,这工作正常。现在我知道没有那么多原始类型,简单地列出它们不会有问题,但我想知道是否有更简单、更优雅的方法。
最佳答案
Apache Commons Lang有一个实用方法来执行此操作 ( ClassUtils.primitiveToWrapper() ),它在幕后同样丑陋,但至少你可以假装它很好。
关于java - 在 Java 中获取包装类类型的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22517000/