黑马程序员技术交流社区

标题: java怎么判断一个数据是什么类型 [打印本页]

作者: 郑苑东    时间: 2012-2-20 12:06
标题: java怎么判断一个数据是什么类型
本帖最后由 郑苑东 于 2012-2-21 20:25 编辑

java怎么判断一个数据(对象)是什么类型。或者说有什么办法可以得到对象的类型。。。例如判断是不是整数。。。
作者: 杜明辉    时间: 2012-2-20 12:28
getClass().getName()

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

第一个是得到类名
第二个可以判断对象是不是某一个类的对象
作者: 【专】【属】    时间: 2012-2-20 14:54
个人感觉用反射的方式。
我只写一下思路,因为本人在网吧中所以不能写代码测试了。
思路是:先得到对象的类字节码Class对象,通过Class对象再得到类型,而后进行判断是不原始类型方法可能是isPrimitive或数组isArray()。
作者: 王康    时间: 2012-2-20 15:07
对象类型的可以用
TEMP.getClass().getName()来获得类型.
但是这种方法不能判断primitive的数据,就是像   int,char....之类的
对于primitive数据,个人认为是没办法判断类型的.

作者: 温昌寿    时间: 2012-2-20 17:59
obj.getClass().getName()可以获得一般的类型名,但是如果真要判断的话就用正则式也可以完成你的任何的,你只要编写这串里面是否全为数字和.如果是的话就是整形
作者: H07000223    时间: 2012-2-20 19:45
本帖最后由 H07000223 于 2012-2-20 19:58 编辑

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

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2