Java 内功强化系列
老陈Android馆
老陈Android馆
展开
-
JDK 是如何判断两个对象是否相同的?判断的流程是什么?
在Java程序运行时,会产生那么多的对象,那 Java 虚拟机是如何判断两个对象是否相同的呢?判断的流程是什么?参考解答:Java 虚拟机会先判断两个对象的hashCode是否相同,如果hashCode不同,则说明肯定是两个不同的对象了;如果hashCode相同再通过equals()方法进行进一步比较,如果equals方法返回true,则说明两个对象是相同的,如果equals方法返回false...原创 2019-02-22 00:15:21 · 300 阅读 · 0 评论 -
一个有趣的问题: 如何用HashSet来存储重复的字符串?
前言今天,我们来探讨一个实际中不常用但却比较有意思的问题。它能帮助你理解 “HashSet中的键值是唯一的,不可重复的” 这句话的真正含义,也考验你对问题的思考深度。注:实际应用中,我们一般是用 ArrayList 集合来存储相同的字符串的,不会用 HashSet 来存。我们平时都看到或听说 HashSet 是不能用来存放重复的字符串的,是真的存放不了吗?如果面试问你这个问题,你能给出解...原创 2019-02-23 21:44:27 · 495 阅读 · 0 评论 -
你有没有想过: 为什么Java中String是不可变的?
解答:因为在String 在通过new 的构造方式初始化的时候,在底层会用一个 private final 修饰的字符数组来存储字符串,该字符数组用了 final 来修饰所以是不可变的。public final class String implements Serializable, Comparable<String&a原创 2019-02-19 16:45:51 · 316 阅读 · 0 评论