JAVA泛型应用,获取容器运行时的泛型Class对象。
private Class<Input[]> _inputArrType = null;
/**
* 获取容器运行时的泛型Class对象。
* @return
* @time 2013-8-20 下午1:41:31
*/
@SuppressWarnings("unchecked")
private Class<Input[]> getInputCls() {
if(_inputArrType == null) {
ParameterizedType t = (ParameterizedType) getClass().getGenericSuperclass();
Class<Input> c = (Class<Input>) t.getActualTypeArguments()[0];
_inputArrType = (Class<Input[]>) Array.newInstance(c, 0).getClass();
}
return _inputArrType;
}