A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑苑东 中级黑马   /  2012-2-20 12:06  /  47641 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郑苑东 于 2012-2-21 20:25 编辑

java怎么判断一个数据(对象)是什么类型。或者说有什么办法可以得到对象的类型。。。例如判断是不是整数。。。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

5 个回复

倒序浏览
getClass().getName()

或者可以判断
if(obj   instanceOf   java.XXX.XXX)

第一个是得到类名
第二个可以判断对象是不是某一个类的对象

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
个人感觉用反射的方式。
我只写一下思路,因为本人在网吧中所以不能写代码测试了。
思路是:先得到对象的类字节码Class对象,通过Class对象再得到类型,而后进行判断是不原始类型方法可能是isPrimitive或数组isArray()。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
对象类型的可以用
TEMP.getClass().getName()来获得类型.
但是这种方法不能判断primitive的数据,就是像   int,char....之类的
对于primitive数据,个人认为是没办法判断类型的.

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
obj.getClass().getName()可以获得一般的类型名,但是如果真要判断的话就用正则式也可以完成你的任何的,你只要编写这串里面是否全为数字和.如果是的话就是整形
回复 使用道具 举报
本帖最后由 H07000223 于 2012-2-20 19:58 编辑

java怎么判断一个数据(对象)是什么类型。或者说有什么办法可以得到对象的类型。。。例如判断是不是整数。。。

如果是对象的话就可以使用对象.getClass().getName()的,而你说的整数如果是原始数据类型的话,他不是对象不能调用方法。如果是他的包装类Integer的话也是可以的。总之,对于对象就可以使用对象.getClass().getName()的;对于原始数据类型你就肉眼扫扫,或者直接打印出来,原始类型应该都能直接打印出来的。看看是什么东东,有的类型是一眼就能看出来的~~~

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马