equales和==之间有什么区别

时间:2014-05-25 08:57:31

标签: java

我是java的新手,我想知道equales和==之间有什么区别, 我知道你可以骑过马厩,你不能过度==,但是怎么样?

让我说我有java类狗,如果狗是同一种类型,我希望它们是平等的,我该怎么办呢?

    public class Dogs{
        private String dogKind;

        public Dogs(String kind){
            this.dogKind = kind
        }

        public String getDogKind(){
            return this.dogKind;
        }
     }

那么我如何覆盖equales呢?

1 个答案:

答案 0 :(得分:0)

只是简单地在网上阅读(这么多好的答案),如果你不明白:

您需要在Dogs类中添加它,只需执行:

    @Override
    public boolean equals(Object obj) {
        if (!obj instanceof Dogs){
            return false;
        }
        return this.dogKind.equals(((Dogs)obj).getDogKind());
    }

第一部分确保给予方法的对象不为null或来自不同的类。

第二部分只使用String equals来检查字符串是否相同。