面试
Chennile1
这个作者很懒,什么都没留下…
展开
-
java中已经有了字节流,为什么还需要字符流,字符流的应用场景是什么?
最常见的应用场景是:程序的配置文件,不管是json,yaml,properties,读取这些文件时,你肯定不想拿到一堆字节,来处理字符转换和编码问题。Java中一切都是字节流,没有字符流,字符只是根据编码对字节流进行翻译的结果。Java I/O有两个面向字节流的InputStream和OutputStream 面向字符流的Reader和WriterJava中InputStreamReader和InputStreamWriter是字节流向字符流解码的桥梁字符流是由Java虚拟机将字节转原创 2022-03-17 19:02:35 · 1172 阅读 · 0 评论 -
try-with-resources使用方式记录
try-with-resources在try( …)里声明的资源,会在try-catch代码块结束后自动关闭掉。1、凡是实现了AutoCloseable接口的类,在try()里声明该类实例的时候,在try结束后,close方法都会被调用2、catch 块中,看不到 try-with-recourse 声明中的变量。3、try结束后自动调用的close方法,这个动作会早于catch代码块的执行,也早于finally里调用的方法。4、不管是否出现异常(int i=1/0会抛出异常),try()里的转载 2022-03-17 18:43:38 · 154 阅读 · 0 评论 -
重写 equals() 时没有重写 hashCode() 方法的话,使用 HashMap 可能会出现什么问题
hashMap、HashSet在比较元素时,会先通过hashCode进行比较,相同的情况下再通过equals进行比较。所以:equals相等的两个对象,hashCode一定相等hashCode相等的两个对象,equals不一定相等(比如散列冲突的情况)重写了equals方法,不重写hashCode方法时,可能会出现equals方法返回为true,而hashCode方法却返回false。这样的一个后果会导致在hashmap、hashSet等类中存储多个一模一样的对象,这与java的思想不符(因为:ha原创 2022-03-17 14:24:23 · 4401 阅读 · 1 评论