一、范型(generic)的支持
支持generic的tiger属于较1.4及以前最大的变化之一。由于支持范型,所以以前的诸多集合类(譬如,list和map)的接口都做了比较大的变化。而Java developer们从理论上说则可以摆脱使用括号的强制转型;使用类型安全(type-safe)的各种集合类,甚至可以写自己的支持范型的类。
二、枚举(enumerated)类型的支持新加入了enum关键字,使Java developer们可以创建一种新的类型——枚举类型。并且,枚举类型支持switch分支以及行内(inline)的创建。和范型配合使用,我们可以创建枚举类型的map或者set。
三、Autoboxing和Unboxing的支持现在tiger可以自动的把primitive type变成与之对应的object类型。Java developer们再也不用使用诸如intValue()或者new Integer()这样的方法来把一个整型的变量变来变去了。
四、可变长参数(vararg)的支持
以前函数参数中带有“...”一直是C++ fans的专利,现在Java developer们也可以享受到其带来的好处。
五、Annotation的支持
这是tiger带给我们的又一伟大的功能。Java developer们现在可以撰写自己的annotation(当然,tiger自身带有annotation,一些先进的框架framework也用到annotation)来给class、method甚至package添加额外信息,这就昭示着可能单体(unit)试验会更加轻松并且那些习惯xdoclet的同学终于可以抛弃它了。
六、for/in语句的支持
这个特性使Java developer们的代码更小以及更酷。并且避免了不必要的类型转换。
七、静态import的支持
这个特性最主要的用途我想就是使Java developer们的代码更酷了。如果搭配枚举类型,以及printf功能可能让你写出类似的C风格的代码。
八、线程方面的改进在线程方面有各种各样的改进,最主要的有三个,添加了Excutor对象,从此Java developer们可以把线程作为一个task执行,另外,由此,线程的写法也有了彻底的改变;第二,添加了高等synchronizing的支持以及locking地加入;最后,就是原子(atomic)类型的加入。
九、其他
除了以上的主要改进以外,还有一些比较重要的修改和增强。譬如说,加入了printf方法,现在Java也拥有了C语言的经典函数;在Array中加入了大量的静态方法用来操作数组和集合;加入了Queue这种数据类型和Comparator这样一个排序接口;以及用一个StringBuilder这个类使得可以更好的处理Unicode。