怎么从ArrayList中取出boolean类型的值?
singlion 2014-05-13 09:04:36
我有一段代码是这样的

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

这不是进入怪圈了吗,想不通啊……
...全文
305 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
singlion 2014-05-13
  • 打赏
  • 举报
回复
晕,原来这么简单……
singlion 2014-05-13
  • 打赏
  • 举报
回复
引用 1 楼 lymoge 的回复:
为什么要转成String而不直接转成Boolean呢。
怎么直接转成Boolean? Boolean类中没有转换Object为boolean的方法啊
Magical茏 2014-05-13
  • 打赏
  • 举报
回复
楼主试试看
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()));
		}
WayneXuan 2014-05-13
  • 打赏
  • 举报
回复
Boolean对象强转String当然会异常

if(params.get(i) instanceof Boolean){
	p.setBoolean(i+1, (Boolean)params.get(i));
}
ilmlife 2014-05-13
  • 打赏
  • 举报
回复
调用object的toString方法
lymoge 2014-05-13
  • 打赏
  • 举报
回复
为什么要转成String而不直接转成Boolean呢。
两个list 比较 得到相同数据 差异数据 package com.lizi.admin.utils.contrast;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method; public class EntityUtil { private static String GET_METHOD_PREFIX = "get"; ...

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧