黑马程序员技术交流社区

标题: equals()方法被调用的疑问 [打印本页]

作者: 吴扬    时间: 2012-6-28 17:11
标题: equals()方法被调用的疑问
本帖最后由 吴扬 于 2012-6-29 00:56 编辑

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


作者: 吴琼    时间: 2012-6-28 18:32
"over"已经是个字符串了.字符串当然可以使用自己类里面的方法了.
本来代码是这样的str.equals("over")都知道这是判断结束的条件.可是这样写的话str有可能为空.为了避免这个问题 str是个字符串"over"也是个字符串额.位置调换一下是一样的
就写成了这样的"over".equals(str);

作者: 游洪波    时间: 2012-6-28 19:19
“over”是一个字符串,同样他也是字符串对象,所以不难理解他会有.equals()方法,equals()方法是判断两个对象的值是否相等。
你这样写“over”.equals(str)就相当于str.equals(“over”)但是后者存在一个问题就是当str处于null的状态下的话,会报一个空指针异常

作者: 吴扬    时间: 2012-6-29 00:55
谢谢大家,明白了!




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