码迷,mamicode.com
首页 > 其他好文 > 详细

equal与==

时间:2015-04-09 17:08:35      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

首先做的是比较引用,引用的如果是同一个对象,直接返回true。
做完return就结束了。
如果引用不是同一个地址,就往下走,判断是否是String的一个实例。同样,不是的话直接返回。
是的话,拿字符串的长度做循环的控制变量,做循环。此处的value在源代码里面来看,应该就是String的混:字符数组。
public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            String anotherString = (String) anObject;
            int n = value.length;
            if (n == anotherString.value.length) {
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {
                    if (v1[i] != v2[i])
                            return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }

equal与==

标签:

原文地址:http://www.cnblogs.com/lovehappy/p/4410021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!