今天看了一些tiger的书,简单记录一下
Java5除了广为人知的泛型和元注释外,在一些细节上也有不少改进,比如用于常用的数组操作的Arrays类,就多了几个deepXXX的方法,比如deepToString。以往打印一个数组,通常是用Arrays.toString,但是遇到多维数组时,要想把每一层的都打印出来,就得自己写一个方法了,现在有了deepToString,这些事情tiger帮你做了,它可以打印任意维数的数组,自动加上方括号,不错。类似的还有deepEquals和deepHashCode
此外,在collection中,对于Queue接口,也多了offer和poll方法,他们的作用和过去的add与remove类似,不同之处在于,如果对一个满了的queue调用add方法,会抛出异常,现在换成offer,就只是返回false;poll也是类似,如果queue为空,那么返回null而不是像remove那样抛异常。哪个好,就看具体情况了,tiger给了更多选择而已。collection有关的还有一个priorityQueue,即优先队列,学过数据结构的都知道怎么用了
StringBuffer和StringBuilder。两个的功能也非常类似,但是StringBuilder没有对线程安全性的支持,所以稍微提高了性能,他们两个的关系就和Vector与ArrayList差不多。过去在StringBuffer中的方法,StringBuilder全部保留
最后,Java5.0开始全面支持unicode4.0,比起unicode3.0,多了很多大于16位的字符(据说主要是汉字),所以不能有时候再用char来表示了,得用int,相应的,很多类的方法也有所改变,比如Character.isUpperCase()就可以接收int的参数了