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

posted @ 2015-03-15 22:37  谪仙  阅读(271)  评论(0编辑  收藏  举报