JDK1.5中新增了枚举类型与泛型。枚举类型可以取代以往常量的定义方式,即将常量封装在类与接口中,此外,它还提供了安全检查功能。枚举类型本质上还是以类的形式存在。泛型的出现不仅可以让程序员写某些代码,主要的作用是解决类型安全问题,它提供编译时的安全检查,不会因为将对象置于某个容器中而失去其类型。
枚举类型
以往设置常量,通常将常量放置在接口中,这样在程序中就可以直接使用,并且该常量不能被修改,因为在接口中定义常量时,该常量的修饰符为final与static。常规定义常量的代码如
public interface Constants{
public static final int Constants_A = 1;
public static final int Constants_B = 12;
}
public enum Constants{
Constants_a,
Constants_b,
Constants_c
}
泛型
泛型实质上就是使程序员定义安全的类型。在没有出现泛型之前,java也提供了对Object的引用“任意化”操作,这种任意化操作就是对Object引用进行“向下转型”及“向上转型”操作,但某些强制类型转换的错误也许不会被编译器捕捉,而在运行后出现的异常,可见强制类型转换存在安全隐患,所以在此提供了泛型机制。
定义泛型类
Object类是最上层的父类,很多程序员为了使用程序更为通通,设计程序时通常使传入的值与返回的值都以Object类型为主。当需要使用这些实例时,必须正确地将该实例转换为原来的类型,否则在运行时将会发生ClassCastException异常。