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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马林康 中级黑马   /  2012-6-19 18:28  /  1375 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 马林康 于 2012-6-20 02:25 编辑

List list1=new ArrayList();
List list2=null;
system.out.println(list1 instanceof List);
system.out.println(list2 instanceof List);
第二个结果怎么是false??

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

8 个回复

倒序浏览
父类引用指向子类对象,这是多态的表现形式 ,应该返回的是true 楼主哪里弄错了吧
public class Test
{
        public static void main(String[] args)
        {
                List list = new ArrayList();
               
                System.out.println(list instanceof List);
        }
}

结果是true
回复 使用道具 举报
返回的是true,楼主学习太用功,导致出现幻觉了。{:soso_e113:}
回复 使用道具 举报
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。
instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
还有,我运行的结果是true
回复 使用道具 举报


QQ截图20120619184439.png (21.52 KB, 下载次数: 20)

QQ截图20120619184439.png
回复 使用道具 举报
java的instanceof方法提供了判断某个对象是否是属于某个类型的方法
instanceof的这些表现都是跟显式转换是有关系的,就是说当我们在instanceof方法时,编译器会检查这个对象是否能够显式转换到右边的类型,如果不能显式转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。
回复 使用道具 举报
instanceOf它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据....
list就是Lis实例t的一个对象...返回值必然就是true了...

List list1=new ArrayList();
这段代码你是声明了一个List对象引用,指向一个List对象,然后用instanceOf来测试它所指向的对象是否是List类的一个实例,显然,这是真的,所以返回true....

这个应该清楚了吧?
回复 使用道具 举报
晕,老兄,你也不能改了题目就改已解决吧!!下面这帮老兄多冤枉~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马