黑马程序员技术交流社区

标题: 获取对象的确切类型 [打印本页]

作者: 黄锦成    时间: 2012-12-27 13:18
标题: 获取对象的确切类型
本帖最后由 黄锦成 于 2012-12-27 14:30 编辑

当我有一个对象时,能不能获取到这个对象是什么类型的?
例如:我有一个person对象,到底是Student类型的还是Person类型的

ArrayList list = new ArrayList();
list.add(1);
list.add("java");
list.add(new Student());
我有这样一个需求:使用get方法取出时,都是Object的,现在我需要每个元素的确切类型。有什么方法?

我以前学过php,在php中,有个getType(变量)方法,因为php在指定变量时是不用指明类型的:$a = false;,只要将$a放进getType($a),就会返回bool;java有这个方法吗



//这个我解决了,脑袋一时卡住了
ArrayList list = new ArrayList();
  list.add(123);
  list.add("123");
  for(Object obj : list){
   System.out.println(obj.getClass().getName());
  }
作者: 24k纯帅    时间: 2012-12-27 13:39
朋友,用instanceof
作者: 黄锦成    时间: 2012-12-27 14:07
24k纯帅 发表于 2012-12-27 13:39
朋友,用instanceof

这个是用来判断某个对象是某个类的,我现在不要判断,我要直接获取类型。在php中我记得有个getType(变量a); 可以知道变量a是String,还是char...不知道java有没有这种方法




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