Java对象

一、obj1.equals(object obj2)对象比较:默认为地址值比较;

1==基本数据类型:值比较;引用数据类型:地址比较,默认为Object类的equals

2null:不属于任何对象的实例;

二、obj.getClass() 

1obj.getClass();返回class类型;返回class+全限命名;用==判断相等;  

2obj.getClass().getName();返回字符串;返回权限命名;用==判断相等;

三、obj.toString():返回字符串;返回对象类名+@+对象十六进制哈希码;//一般复写;

四、obj.hashCode:返回int类型;返回对象十进制哈希码;

五、重写string中的equals方法:

  1、重写:

 

@Data
@NoArgsConstructor
@AllArgsConstructor
public class StringEquals {
    private int num;

    public boolean equals(Object obj){ //Object obj=new StringEquals();类型提升;
        if (!(obj instanceof StringEquals)) { return false; }
        StringEquals stringEquals=(StringEquals)obj;//类型转变,下降;
        return this.num==stringEquals.num;
    }
}

 

  2、测试:

public class Test {
    public static void main(String[] args){
        StringEquals s1 = new StringEquals(4);
        StringEquals s2 = new StringEquals(4);
        System.out.println(s1.equals(s2));
    }
}

 

posted @ 2019-07-23 10:07  开拖拉机的拉风少年  阅读(136)  评论(0编辑  收藏  举报