反射时,如何判断八种基本数据类型的封装类型

ruoye_2008 2011-01-10 04:05:21

Field[] fs = clazz.getFields();
for (Field f : fs) {
Class<?> classType = f.getType();

if (!classType.isPrimitive() && classType != String.class && ) {

}
}


上面已对:String.class、int.class(等8种)判断了,但如何判断Integer.class等8种呢?
...全文
1140 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruoye_2008 2011-01-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yaoweijq 的回复:]
boolean java.lang.Class.isPrimitive()
Determines if the specified Class object represents a primitive type.

There are nine predefined Class objects to represent the eight primitive types and void……
[/Quote]

void也为true也无所谓,因为得到的是Field[],无论无何,它里面的值是不可能为void.class的
yxgp163 2011-01-11
  • 打赏
  • 举报
回复
厉害支持JAVA
nicesmil3 2011-01-11
  • 打赏
  • 举报
回复
做个方法,往里传值是object类型,然后用传到的值跟方法内部设定已知的类型循环判断,并返回
yaoweijq 2011-01-11
  • 打赏
  • 举报
回复
boolean java.lang.Class.isPrimitive()
Determines if the specified Class object represents a primitive type.

There are nine predefined Class objects to represent the eight primitive types and void.

void也会为true
循环估计最优了
ruoye_2008 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ticmy 的回复:]
Integer.class跟String.class一样判断
[/Quote]

这种那要写8个,我是想找到一种如:classType.isPrimitive()一次可判断8、9个的

目前是用数组把这个8个存起来,循环判断,不知有没有更好的方法
龙四 2011-01-10
  • 打赏
  • 举报
回复
Integer.class跟String.class一样判断
kky2010_110 2011-01-10
  • 打赏
  • 举报
回复
入口类型 标志值

CONSTANT_Class 7

CONSTANT_Fieldref 9

CONSTANT_Methodref 10

CONSTANT_InterfaceMethodref 11

CONSTANT_String 8

CONSTANT_Integer 3

CONSTANT_Float 4

CONSTANT_Long 5

CONSTANT_Double 6

CONSTANT_NameAndType 12

CONSTANT_Utf8 1

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧