java 泛型转型小技艺

java 泛型转型小技巧今天在代码中写了这样一个函数:public T T readObject(File pFile, ClassT tt)?但

java 泛型转型小技巧

今天在代码中写了这样一个函数:

public <T> T readObject(File pFile, Class<T> tt)

?但是函数内部是利用ObjectInputStream从文件系统中取得到Object。

但是问题是之前用java的类型转换,不能用,编译不通过。

return (T)input.readObject()

?这样写是不能编译通过的,但是vm1.5之后的sdk中Class增加了一个新的方法cast,可以这样写:

public <T> T readObject(File pFile, Class<T> tt) {return tt.cast(input.readObject());}

?ok!!!!

?