java基础常见面试题
1.八种基本数据类型的大小,以及他们的封装类。 2.equals与==的区别 使用==比较原生类型如:boolean、int、char等等,使用equals()比较对象。 (1)==是判断两个变量或实例是不是指向同一个内存空间。 equals是判断两个变量或实例所指向的内存空间的值是不是相同。 (2)==是指对内存地址进行比较。 equals()是对字符串的内容进行比较。 (3)==指引用是否相同。 equals()指的是值是否相同。 3.HashCode的特性 https://blog.csdn.net/seu_calvin/article/details/52094115 (1)HashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,HashCode经常用于确定对象的存储地址; (2)如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同; (3)两个对象的HashCode相同,并不一定表示两个对象就相同,即equals()不一定为true,只能说明这两个对象在一个散列存储结构中。 (4)如果对象的equals方法被重写,那么对象的HashCode也尽量重写。 如何理解HashCode的作用: 从Object角度看,JVM每new一个Object,它都会将这个Object丢到一个Hash表中去,这样的话