
Java
skyf1y
这个作者很懒,什么都没留下…
展开
-
Java String类的equals
之前一直以为String的equals是直接对hashCode做比较的,后面偶尔看了一下String的实现代码才发现public boolean equals(Object var1) { if (this == var1) { return true; } else { if (var1 instanceof String) { String var2 = (String)var1;原创 2021-03-24 11:39:26 · 334 阅读 · 0 评论 -
Java内部类调用外部类对象的方法和成员函数过程
Java中内部类是如何调用外部类的成员变量和方法的?我们下看看下面的例子package com.iworktool.libjava;public class Outer{ private String privateValue = "privateValue"; public String publicValue = "publicValue"; private class Inner{ public Inner() {}原创 2021-03-24 11:09:36 · 3437 阅读 · 3 评论 -
Java随笔-equals和hashcode
Java的Object类默认实现了equals和hashcode,equals用来判断两个对象是否相等,hashcode用来返回对象的哈希值,equals默认实现中是通过判断两个对象的地址是否相同来确定对象是否相等,hashcode直接返回对象的地址,如果子类重写了equals,比较对象值是否相等,那么必须同时重写hashcode,不然可能是出现两个对象通过equals判断为相等,但是这两个对象通过hashcode(默认实现会返回对象地址)获取的哈希值不一样,违背了相关的规定(相等(相同)的对象必须具有相等原创 2021-01-06 09:57:15 · 133 阅读 · 0 评论