Java基础
wdyyeah
这个作者很懒,什么都没留下…
展开
-
StringBuilder,ArrayList等常用数据结构扩容大小
StringBuffer,StringBuilder: 默认容量:capacity = 16,也是说默认是16个字符,当超过初始容量,那么就扩容两倍(jdk1.6),在jdk1.7以后是扩容两倍+2 private int newCapacity(int minCapacity) { // overflow-conscious code int newCapac原创 2017-11-17 16:04:07 · 333 阅读 · 0 评论 -
关于String中各种编码中文字符的字节长度
在java中,一个英文字符在UTF-8/GBK/GB2312中是占用一个字节,在UTF-16中占用4个字节,如下测试: 先来看英文字母所占字节数: char c = 'a'; try { System.out.printf("默认编码:%s, 字节数:%d%n", System.getProperty("file.encoding"), Character.toString(c).ge原创 2017-11-05 12:38:28 · 5464 阅读 · 0 评论 -
Java中equals与hashcode
在JDK中,有相关约定,当a.equals(b)为true,那么a.hashcode()就必须与b.hashcode()相等,但是如果a.equals(b)为false,a与b的hashcode并没有强制要求不相等,但是正常做法应该a.equals(b)为false,那么a.hashcode也应该!=b.hashcode,因为这样可以提高hash表的性能。 以下是JDK中Object类的ha原创 2017-11-19 21:18:48 · 261 阅读 · 0 评论