- java后台判断用equals:“1”.equals(u.getServiceType()),== 比较的是地址值,前端比较用===
1.比较java基本类型
比较基本类型只能用==,不能用"equals",这里的==比较的是两个基本类型的值.
2.比较String
String类重写了equals()方法,对比是字符串包含的内容是否相同。
"=="比较的是内存地址,"equals"比较的是值
java中的数据类型可以分为两类:
基本数据类型
byte,short,char,int,long,float,double,boolean
基本数据类型之间的比较需要用双等号(==),因为他们比较的是值
对于对象引用类型: ==比较的是对象的内存地址。
对于基本数据类型: ==比较的是值。
引用数据类型
接口、类、数组等非基本数据类型
Java中的字符串String属于引用数据类型。因为String是一个类
当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。因为没new一次就会重新开辟一个新的堆内存空间
总结:
对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是内存中的存放位置的地址值,跟双等号(==)的结果相同;如果被复写,按照复写的要求来。
== 的作用:
基本类型:比较的就是值是否相同
引用类型:比较的就是地址值是否相同
equals 的作用:
引用类型:默认情况下,比较的是地址值,重写该方法后比较对象的成员变量值是否相同