scala:对象相等性
AnyRef中定义了eq方法,比较两个变量是否指向同一个对象,相当于Java中用==直接比较,不会抛出空指针异常。
AnyRef中的equals方法调用eq,但是null调用会抛出空指针异常。必要时重写此方法。
AnyRef的==方法,会先判断null,然后再调用equals方法。所以不会抛出异常。
应用程序中,最好不直接调用equals方法,因为用==比较会在调用equals方法前做null检查,且不会抛出异常。
AnyRef中定义了eq方法,比较两个变量是否指向同一个对象,相当于Java中用==直接比较,不会抛出空指针异常。
AnyRef中的equals方法调用eq,但是null调用会抛出空指针异常。必要时重写此方法。
AnyRef的==方法,会先判断null,然后再调用equals方法。所以不会抛出异常。
应用程序中,最好不直接调用equals方法,因为用==比较会在调用equals方法前做null检查,且不会抛出异常。