java - 在 Java 中获取包装类类型的简单方法

标签 java reflection wrapper

我有一段代码需要在方法中传递字段的类。由于我的代码的机制,我只能处理引用对象而不是基元。我想要一种简单的方法来确定 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/

相关文章:

java - 如何正确等待下一秒刻度

java - 从小程序启动时,JFrame 位于浏览器窗口后面

Java:反射(在运行时)与镜像(在注释处理时)

c++ - 如何从类中包装的成员访问包装类的成员

javascript - AngularJS ng-switch-trigger 在它自己的 ng-switch-wrapper 中

javascript - 从原型(prototype)更改/包装函数

Java -- 静态和动态类型 -- "what does this print?"

java - 从java中的Map中获取唯一项目的总计

java - 创建使用反射创建对象的模板方法

c# - 按像素滚动 DataGridView