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

原文地址:https://www.cnblogs.com/kimmy/p/4340684.html