zoukankan      html  css  js  c++  java
  • GetHashCode

    看到自己之前记录的有用到HashCode的地方,自己又不明白,所以记录下。

    现在也不明天,也许哪天就顿悟了。

    libilibi上的视频,可以在哔哩哔哩上多看看,无论java还是C#,理论都是一样的

    //==是判断两个对象的地址是否相同,
    //两个对象HashCode相同,Equals是否相同
    //两个对象Equals相同,HashCode是否相同
    
    //HashCode和Equals,没有必然的联系;我可以重写HashCode,只返回1;我也可以重写Equals只返回True
    //1:hashCode和Equals返回值应该是稳定的,不应该返回随机性
    //2:两对象== 返回true,则这两个对象的equals也应该返回true
    //3:两对象equals 则俩对象的HashCode也应该相同
    
    //默认对象的hashcode的返回值永远大于等于0(默认对象,重写HashCode不算)
    //默认对象的hashcode方法返回值不是对象的地址
    
    //下面的两个地址内存地址是不相同的,所以肯定Equals肯定不同
    test1 t1 = new test1() { s1 = "s", i1 = 1 };
    test1 t2 = new test1() { s1 = "s", i1 = 1 };
    
    bool b = t1.Equals(t2);
    int ClassCode1 = t1.GetHashCode();
    int ClassCode2 = t2.GetHashCode();
    int StringCode = "zkb".GetHashCode();
    
    int IntCode = 1.GetHashCode();
    int IntCode2 = 2.GetHashCode();
    int IntCode3 = 2.GetHashCode();
    int IntCode4 = 2.GetHashCode();
                       
    double doubleCode = 0.22.GetHashCode();
    double doubleCode2 = 1.22.GetHashCode();
    
    int NB0903100006 = "NB0903100006".GetHashCode();
    int NB0904140001 = "NB0904140001".GetHashCode();
    int NB0904140005 = "NB0904140005".GetHashCode();
     public class test1
            {
                public string s1;
                public int i1;
            }
  • 相关阅读:
    FastCgi与PHPfpm之间的关系
    PHP中多线程处理
    EASYUI+MVC4通用权限管理平台前言
    常用企业建站源码
    Oracle数据库同步服务
    Jquery easyui +MVC4 管理信息系统
    《自动化技术中的进给电气传动》1.1节和1.2节读书笔记
    FTP
    Samba
    rsync
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/13408106.html
Copyright © 2011-2022 走看看