a.equals(b)和a==b的区别及hashcode的意义

"".equals(A)和A.equals("")的区别:当A为null时,"".equals(A)返回true,A.equals("")返回为java.lang.NullPointerException;当A为""或其他值时,返回结果一致。

a==b:当a和b指向同一对象时为true,即a和b指向内存和内存地址的内容都相同时才为true;(地址相同,内容必相同)

a.equals(b):当a和b的值相同时,即为ture;(只判断值相等)

hashCode的意义:当a和b里面存储的值相同时,则a和b的hashCode值相等;但hashCode是随机生成的,可能值不同也会相等(极少数),所以hashCode值相同,a和b的值不一定相同;当a和b的值相同,则a和b的hashCode值一定相同。

判断对象是否为空:object==null

判断字符串是否为空:"".equals(String)

数字类型不能为空

猜你喜欢

转载自blog.csdn.net/cqzengddb/article/details/83385173