Java中Equals和==的区别
在项目中,发现试用==来比较两个UUID,总是false,改成.equals对比,就返回true了。
原来==比较的是内存地址,多用于值类型的比较
附值类型的信息
四类: 1,整型 2,浮点型 3,字符型 4,逻辑型
八种:
1,整型3种 byte,short,int,long
2,浮点型2种 float,double
3,字符型1种 char
4,逻辑型1种 boolean
而UUID不属于值类型,我们拿==来比较地址,当然总是返回false。
此时试用.equals来比较内存指向的数据,就会返回正确的比较结果了。
结论,如果是值类型,使用==,如果不属于值类型,一律使用.equals