我该如何选择基于泛型类型的不同方法?java泛型:运行时类型检查以确定策略
只要我有一个泛型类型参数化的一类,我必须通过T型来选择正确的PreparedStatement二传手:
Class CustomFieldsTypeManager<T> {
ArrayList<T> data;
public void setUpStatement(PreparedStatement st){
...
if (**T==String**){
st.setString(index, (String) data<T>.get(dt_index);
} else if (**T==Integer**){
st.setInt(index, (String) data<T>.get(dt_index);
}
...
}
}
非常感谢!它的作用就像一种魅力。 – Azathoth
@ user2224731请点击代表下方的检查标记帖子作为答案。 –
唯一需要注意的是“非对象类型”(如int),其属于对象,以便类型检查以整数失败。 解决方法是强制转换为getter(data.get)。 [也许这个信息可以帮助别人在未来同样的问题] – Azathoth