我不明白为什么Eclipse IDE会给我一个"类型安全:未经检查的调用"警告这个方法。
public static Object decode(String _json, Class _class) {
Gson gson = new Gson();
return gson.fromJson(_json, _class);
}
我已严格修改代码以说明问题。代码工作正常;它只是有一头牛的Eclipse。 "返回" line是带警告的那一行。
原样,该方法只是Gson's object instantiation method的包装器。 我做错了吗?我需要以不同的方式处理某些事情吗?
是因为返回属于Type对象吗?它是通用的,能够返回所有类型的类,对吧?
答案 0 :(得分:1)
问题在于Class参数_class
。
类需要有一个泛型参数:Class<? extends Type>
表示任何扩展“类型”的类(用您所需的公共超类替换Type)
您可以指定与Class<?>
相同的Class<? extends Object>
并表示任何类别 - 警告应该消失
答案 1 :(得分:0)
警告:未经检查的调用执行(新的CallableStatementCreator(){},新的CallableStatementCallback(){})通用方法execute(CallableStatementCreator,CallableStatementCallback)类型为JdbcTemplate。
以下是答案如何抑制警告:
jdbcTemplateObject.execute(new CallableStatementCreator() {
public CallableStatement createCallableStatement(Connection con) throws SQLException {
cs= con.prepareCall("{?=call Package(?)}");
cs.registerOutParameter(1, Types.INTEGER);
cs.setString(2,argument);
cs.executeUpdate();
int return_Value = cs.getInt(1);
logger.info("Package Return Value : "+return_Value);
return cs;
}
}, new CallableStatementCallback<Object>() {
public Object doInCallableStatement(CallableStatement cs) throws SQLException {
cs.execute();
return null;
}
});
在<Object>
旁边添加CallableStatementCallback
将消除警告