Tiger初体验【一】

使用Java已经有6年多的经历,所有的经历都停留在Java2上,尽管Tiger已经推出很长时间了,而且Java6也推出来了,但自己一直以使用不够广泛为理由拒绝去看Tiger的新功能。由于最近相对以前的一个FrameWork和ESB进行改造,想到了Tiger,于是就花了点时间整理Tiger的特性,时间较短本文属于抛砖引玉还希望JavaEye上的大侠们一起来帮我发现特性。本文将分几个系列讨论,第一系列主要讨论Tiger中新的一些类、接口、方法。第二个系列主要讨论Tiger的一些新语言特性,比如泛型、可变参数、Annotation等。今天先谈谈第一系列:新的方法、新的对象。可以发现在Tiger中加入了很多大家希望加入的一些新类、新方法,Sun在这方面还是很为开发人员考虑的。C中经典的printf函数终于在Tiger中得到实现,再也不用什么Format之类了。确实非常方便。个人总结的新的关键类【接口】包括:
java.uti.Arrays:提供很多静态方法用来操作数组。包括数组的排序【Arrays.sort】;数组的查找【Arrays.binarySearch】;数组的深层字符串转换【Arrays.deepToString】等等。这些方法其实自己写个程序也是比较简单的,但是Tiger通过Arrays同意提供之后,大大方便了开发人员。

Java.util.Queue:实现先入先出【FIFO】的栈接口。关键的方法为offer【添加元素,如果栈满了则添加失败,返回false】;poll【移除元素】。提到这个接口不得不提一个它的实现类PriorityQueue。这个类将要求存入的对象能够实现Comparable接口,或者为这个queue指定Comparator,这样从queue取出的数据将是排序之后的数据。这个类在底层通讯或者服务调度的设计当中很有使用价值,往往在服务调度中需要根据服务的优先级来决定服务的调用次序,通过这个queue将很容易实现需求【当然对于这个类的实现细节和性能是需要深层次讨论的问题了】

StringBuilder:这个类在很大意义上与以前的StringBuffer相同,但是在没有线程冲突的前提下,使用StringBuilder能够有更高的性能

新的关键方法包括:
format方法:在PrintStream、PrintWriter、String这几个类中都加入了format这个方法。这个方法用来格式化字符串输出,可以通过%+转义符得到特定格式的字符串,比如:
%n  输出换行
%o  8进制输出
%b  将值转换为true/false输出
%tc 完整的日期输出
……  ……
使用起来特别方便,例如:
System.out.format("Date:%tD%nTime:%<tr%n",System.currentTimemillis());

printf方法:与format方法功能和使用基本相同。

其他应该还提供了很多的新类新包,比如concurrent包等等,由于还没有开始开发,因此现在还不够全面,希望大家在新的包、类、接口、方法上能够补充。后面将继续讨论第二系列也是更重要的语言特性方面。

你可能感兴趣的:(sun)