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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴扬 中级黑马   /  2012-6-28 17:11  /  1756 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴扬 于 2012-6-29 00:56 编辑

毕老师的视频中出现过这样调用equals()方法:
"over".equals(str);
"over"这个虽然是一个字符串没错,但是并没有定义"over"这个对象
而且在String类中equals()是一个对象方法,没有产生对象怎么可以这样调用equals()方法呢?很是疑惑!

点评

“”是字符串常量的调用方式,它也是字符串对象,所以也可以用equals方法,并且由于其常量,不会是null,用这种方法可以避免空指针  发表于 2012-6-28 17:13

3 个回复

倒序浏览
"over"已经是个字符串了.字符串当然可以使用自己类里面的方法了.
本来代码是这样的str.equals("over")都知道这是判断结束的条件.可是这样写的话str有可能为空.为了避免这个问题 str是个字符串"over"也是个字符串额.位置调换一下是一样的
就写成了这样的"over".equals(str);
回复 使用道具 举报
“over”是一个字符串,同样他也是字符串对象,所以不难理解他会有.equals()方法,equals()方法是判断两个对象的值是否相等。
你这样写“over”.equals(str)就相当于str.equals(“over”)但是后者存在一个问题就是当str处于null的状态下的话,会报一个空指针异常
回复 使用道具 举报
谢谢大家,明白了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马