【发布时间】:2013-09-28 20:43:14
【问题描述】:
我正在寻找任何方法来检查类的给定属性的类型是自定义对象类型(例如,Person)还是 Java 对象(例如,String、Long、原始类型)类型。如果使用 instanceof,检查所有 Java 类型会很忙。任何人都可以建议一种方法来检查,如果存在这样的东西。
【问题讨论】:
-
Java 有许多内置类和接口,例如
List。你的代码应该如何反应让我们说ArrayList实例? -
这就是我想知道的。简单来说,如果我的自定义类有 5 个类型的属性 - String、int、Long、List、自定义对象。如果是这种情况,使用反射我可以获得各个字段的类型。但是拿到类型后,有什么办法可以识别是java内置类型还是自定义类型呢?
-
@Sarath 但是您认为“内置 java 类型”是什么? 正如这里的几个人所讨论的,这个问题有很多可能的答案,具体取决于 b>你需要它。
-
所以,从人们对这个问题的回答中我可以理解的一件事是,没有直接的方法来检查该类是否属于内置 java 类型或自定义对象,而是检查对于类包声明的正则表达式是唯一的方法。如果我错了,请纠正我。
-
@Sarath 你想解决什么问题?如果这是关于持久化值对象,您应该看看JPA,特别是它使用注释来定义有意义的持久性字段的方式
标签: java class reflection types