java的查漏补缺 hashCode,equals 浮点型扩展,命名规范,字符串的连接
开始(打卡记录1)
java的查漏补缺:
数据类型扩展
1.浮点数扩展
因为浮点数是有限的,离散的,最好完全避免使用浮点数进行比较(例子如银行的业务,应使用)
2.变量的命名规范
类变量,局部变量,方法名,首字母小写和驼峰原则(之前误认为都是首字母大写)
3.字符串的连接
System.out.println(""+20+10);//2010
System.out.println(20+10+"");//30
4.hashCode
问题来源
[查阅的博客](hashcode详解 - 有梦想的老王 - 博客园 (cnblogs.com))
自己将hashCod理解为定位哈希表中的哈希值坐标
关于hashCode与equals方法的关系
先通过hashcode来比较,如果hashcode相等,那么就用equals方法来比较两个对象是否相等,用个例子说明:上面说的hash表中的8个位置,就好比8个桶,每个桶里能装很多的对象,对象A通过hash函数算法得到将它放到1号桶中,当然肯定有别的对象也会放到1号桶中,如果对象B也通过算法分到了1号桶,那么它如何识别桶中其他对象是否和它一样呢,这时候就需要equals方法来进行筛选了。
-
如果两个对象equals相等,那么这两个对象的HashCode一定也相同
-
如果两个对象的HashCode相同,不代表两个对象就相同,只能说明这两个对象在散列存储结构中,存放于同一个位置

浙公网安备 33010602011771号