if(params.get(i) instanceof Boolean){ p.setBoolean(i+1, Boolean.parseBoolean((String)params.get(i))); }
这段代码没有错吧?但是就是执行时就是出错。
我这样写的原因,因为params是ArrayList<Object>,所以取出的是Object类型,但是Boolean类的方法中没有把Object转换成Boolean的方法,所以只能先转成String再转Boolean。
但是执行的时候报错 java.lang.Boolean cannot be cast to java.lang.String
调用object的toString方法
if(params.get(i) instanceof Boolean){ p.setBoolean(i+1, (Boolean)params.get(i)); }
if(params.get(i) instanceof Boolean){ p.setBoolean(i+1, Boolean.parseBoolean(params.get(i).toString())); }