美文网首页
JavaForAndroid18

JavaForAndroid18

作者: tah | 来源:发表于2018-04-24 10:03 被阅读8次

    一、equals函数在Object类中,Object是所有类的父类。
    == 为true,代表指向同一内存地址。

    对象的内容相等
    1)对象的类型相同
    2)两个对象的成员变量的值完全相同
    class User{
    String name;
    int age;
    public boolean Equals(object obj) {
    if(this == obj) {
    return true;
    } else {
    boolean s = obj instanceof User; //判断obj是不是User对象
    if(s){
    User u = (User)obj;
    if(this.age == u.age && this.name.equal(u.name)){
    reture true;
    }
    } else {
    return false;
    }
    }
    }
    }

    二、hashCode()和toString(),都存在与Object类中
    Hash算法:任意长度的数据,经过Hash算法,变成一个长度相同的散列值。
    如果两个对象使用equals方法返回true,那么使用Hash算法生成的散列值也相同。
    HashMap<User, String> map = new HashMap<User, String> ();
    map.put(u,"123");
    String s = map.get("zhangdan",12);
    public int hasNext(){
    int result = 17;
    result = 31resultage;
    renull - 31*name.bashCode();
    return result;
    }

    toString()方法:把任意一个对象转换成字符串
    User u = new User();
    System,out,println(u); //会默认调用u.toString()方法
    //重写toString()方法
    public String toString(){
    println("age:"+age+" name:"+name);
    }

    相关文章

      网友评论

          本文标题:JavaForAndroid18

          本文链接:https://www.haomeiwen.com/subject/gdyzcftx.html