Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串布尔错误java_Java_String_Boolean - Fatal编程技术网

字符串布尔错误java

字符串布尔错误java,java,string,boolean,Java,String,Boolean,谁能告诉我我做错了什么 (Util.parseBoolean((String)request.getAttribute("testVal"), false)) 我得到了这个错误 java.lang.ClassCastException: java.lang.Boolean incompatible with java.lang.String 如果我从请求中获得的值可以这样做。谢谢 Util只查找请求值,如果是y或true,则返回布尔值true。但我的问题是,当它转到这一行时,它的抛出异常表示

谁能告诉我我做错了什么

(Util.parseBoolean((String)request.getAttribute("testVal"), false))
我得到了这个错误

java.lang.ClassCastException: java.lang.Boolean incompatible with java.lang.String
如果我从请求中获得的值可以这样做。谢谢


Util只查找请求值,如果是y或true,则返回布尔值true。但我的问题是,当它转到这一行时,它的抛出异常表示该错误,因此我无法知道发生了什么。很可能这段代码:request.getAttributetestVal返回一个布尔值,不能转换为字符串,因此出现运行时异常

要么:

检查使用类似request.setAttributetestVal、boolean.FALSE之类的布尔值填充请求属性testVal的代码,并用字符串替换该值 或

不要在代码中将值强制转换为字符串,也不要使用看起来像是实用程序类的东西从字符串中构建布尔值* *顺便说一句,布尔类可以独自完成所有工作,无需为此创建自己的库:


当您遇到异常,并且不知道是什么原因导致异常时,最好的第一步是准确地隔离异常发生的位置。在这一行代码中发生了很多事情,因此很难确切地知道是什么操作导致了错误

查看异常的完整堆栈跟踪可能会有所帮助,因为这样可以了解异常发生时您在执行路径中的位置

但是,一种简单的调试技术是将包含许多操作的一行分解为包含较少操作的多行,然后查看哪一行实际生成异常。在您的情况下,这可能类似于:

Object o = request.getAttribute("testVal");
String s = (String) o;
boolean b = Util.parseBoolean( s, false )

如果Shivan Dragon建议的原因是正确的,那么异常将发生在这三行中的第二行。

没有人知道您的Util类做什么。Util.parseBoolean是什么?什么是request.getAttribute?我想他指的是布尔值。parseBoolean@user161...etc建议:删除此问题并重新开始新问题,以便向我们显示足够的代码。这些向下投票将影响您的声誉。Util只查找请求值,如果是y或true,则返回布尔值true。但我的问题是,当它走到这一行时,它抛出了一个例外,即错误,因此我无法知道发生了什么。这是你方的一个大胆假设。同意,这个问题最多也只是修改得很差。我在这里胡乱猜测。我得到的对象值为false,但当我试图将Obj转换为字符串时,它抛出了那个错误。你能建议我怎样做才能消除那个错误吗。谢谢你跳过了中间的一步,@user1617247。你已经得到了一个布尔值,看起来像。只要将getAttribute的返回值转换为布尔值,就完成了。