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!!!!

猜你喜欢

转载自mozhenghua.iteye.com/blog/1112275