String类的equals()的源码解析-----对内存模型的理解

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;
}

这个可以这么解释:

//重写toString方法的作用就是打印出具体的信息
@Override
public String toString() {
    return "User{" +
            "name='" + name + '\'' +
            ", phoneNum='" + phoneNum + '\'' +
            '}';
}

解决了打印为null的问题:

猜你喜欢

转载自blog.csdn.net/wb_zjp283121/article/details/85221455