首页 > 编程语言 > 详细

Java解惑六:库之谜

时间:2014-06-22 20:08:34      阅读:314      评论:0      收藏:0      [点我收藏+]

本文是根据JAVA解惑这本书,做的笔记。

电子书见:http://download.csdn.net/detail/u010378705/7527721

谜题56

BigInteger、BigDecimal以及包装类型的实例是不可改变。

BigInteger five = new BigInteger("5");
BigInteger total = BigInteger.ZERO;
total.add(five);  //这并不会改变total的值,调用该方法的返回值,才是加法得到的结果。 
total = total.add(five); // 才是希望得到的结果

谜题57

HashSet中的元素,首先计算hashCode,然后在调用equals()方法。
一个类如果重写了equals()方法,而没有重写hashCode()方法,对HashSet会有影响。
因此两个方法尽量一起重写。

谜题58

本来应该重写equals(Object o),但是重载了,写成了:equals(Class class)
因此在重写的时候尽量使用:@Override

谜题59

主要讲述了:在数字前面加个0就是八进制的数了。

谜题60

一行编码解决问题,主要讲述是四个知识点。
1. LinkedHashSet:维持来的顺序,且没有重复的。
2. 正则表达式在split中的应用。
3. Arrays.deepToString的使用
4. 包装类的位操作:Integer.bitCount();

谜题61

主要讲了Calendar和Data使用的问题。使用时候要注意查API文档。

谜题62

HashMap存储String时候的问题。
HashMap比较键时,使用的是引用等价性而不是值等价性。
语言规范字符串是内存限定的,相等的String常量也是相同的。

谜题63

不要将构造器声明变成方法声明:添加返回值。

谜题64

整数边界的问题
Math.abs(Integer.MIN_VALUE) 仍是其本身
PS:负数取余的问题

谜题65

整数相减越界的问题。
两个整数相减会导致越界,compare时最好不要使用两数相减,改为
public int compare(Integer i1, integer i2) {
      return (i2 < i1 ? -1 : (i2 == i1) ? 0 : 1);
}

Java解惑六:库之谜,布布扣,bubuko.com

Java解惑六:库之谜

原文:http://blog.csdn.net/u010378705/article/details/32923159

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!