scala中
eq
,equals
,==
,===
经常搞混,这里总结一下
-
equals比较的是值是否相等
-
eq比较的是 地址是否相等
-
==
(等值符),如果比较的对象是null,==
调用的是eq方法,如果比较的对象不是null,==
调用的是equals方法。当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较 -
===
一般用于spark中,是在Column类中定义的函数,对应的不等于是=!=
scala中
eq
,equals
,==
,===
经常搞混,这里总结一下
equals比较的是值是否相等
eq比较的是 地址是否相等
==
(等值符),如果比较的对象是null,==
调用的是eq方法,如果比较的对象不是null,==
调用的是equals方法。当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较
===
一般用于spark中,是在Column类中定义的函数,对应的不等于是=!=