带有布尔值的 java.lang.NullPointerException

2024-01-02

我根据另一个问题编写了一个非常简单的代码,如下所示:

它给我一个错误

java.lang.NullPointerException 第 5 行和第 17 行

我不知道我做错了什么。

 public class Main {

    public static String bool(Boolean param){
        if(param == true){    (line 5)
            return "a";
        }else if(param == false){
            return "b";
        }
        return "c";

    }

    public static void main(String[] args){

        System.out.println(bool(true));
        System.out.println(bool(null)); (line 17)
        System.out.println(bool(false));


    }
}

null无法自动拆箱为原语boolean值,当您尝试将其与true. In

param == true

的类型true is boolean,因此左侧操作数也必须是boolean。你正在传递一个Boolean,它是一个对象,但可以自动拆箱为boolean.

因此这相当于

param.booleanValue() == true

显然,如果param is null,上面抛出NullPointerException.

为了避免自动拆箱的隐藏陷阱,您可以使用Boolean对象:

if (Boolean.TRUE.equals(param))
  return "a";
if (Boolean.FALSE.equals(param))
  return "b";
return "c";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有布尔值的 java.lang.NullPointerException 的相关文章

  • Spring @PostConstruct 依赖于 @Profile

    我想在一个配置类中拥有多个 PostConstruct 带注释的方法 这些方法应该根据 Profile 进行调用 你可以想象这样的代码 Configuration public class SilentaConfiguration priv
  • 在这个 Spring MVC 展示示例中如何使用 @RequestAttribute 和 @ModelAttribute 注释?

    我对 Spring MVC 还很陌生 这段时间我正在学习Spring MVC 展示 https github com spring projects spring mvc showcase可从 STS 仪表板下载示例 我在理解此示例中如何处
  • ClientRequestFactory RestEasy 已弃用...还有其他 RestEasy 替代方案吗?

    我需要使用其他人创建的 RestService 的接口来创建轻松的客户端 这工作很好 除了一件事 当我从rest easy 2 3 5 Final更新到resteasy 3 0 x时 Client RequestFactory类看起来像 D
  • log4j:ERROR 在 tomcat 7 中部署 war 时无法创建自定义 Appender

    我的 log4j xml 中有以下标签
  • 在 Java 中重新抛出异常而不丢失堆栈跟踪

    在 C 中 我可以使用throw 语句重新抛出异常 同时保留堆栈跟踪 try catch Exception e if e is FooException throw Java中有没有类似的东西 不会丢失原始堆栈跟踪 catch Whate
  • 用Java截取网页的屏幕截图[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有一个免费的工具可以读取给定的网页并截取它的屏幕截图 我使用 VirtualFramebuffer 和 Firefox Binary
  • 如何将 (A OR B) AND C 等表达式展开为 A AND C OR A AND B?

    我努力了Javaluator这帮助我评估了这样的表达式 A OR B AND C 但现在我只想扩展表达式 A OR B AND C to A AND C OR A AND B任何人都可以告诉我如何在 Java 任何 API 中执行此操作或任
  • JConsole主类

    我正在尝试使用其 Main 类从命令行启动 JConsole 我提取了 jconsole jar 的内容 在 MANIFEST MF 中我可以看到 Main Class sun tools jconsole JConsole 所以我尝试运行
  • 对 Java Servlet 进行单元测试

    我想知道对 servlet 进行单元测试的最佳方法是什么 只要内部方法不引用 servlet 上下文 测试内部方法就不是问题 但是测试 doGet doPost 方法以及引用上下文或使用会话参数的内部方法呢 有没有办法简单地使用经典工具 例
  • 如何在 TestNG 报告中包含 Log4j2 消息

    我希望在所有测试用例的 TestNG 报告中提供 Log4j2 日志记录信息 TestNG 使用一个名为 Reporter java 的特殊记录器类来跟踪日志输出并将其保存在其结果 XML 中 在 log4j 中 可以简单地创建一个路由到
  • java - IBM-IEEE 双精度浮点字节转换

    我需要在 Java 中对字节数组进行 IBM IEEE 浮点转换 我能够使用成功地进行单精度浮点字节的转换http www thecodingforums com threads c code for converting ibm 370
  • 结果显示图像上有衬里

    我正在使用 opencv 和 android ndk 下面是我的 jni 代码 void Vignete Mat img1 Mat img2 Mat out resize img1 img1 img2 size img1 convertTo
  • ImageIO read() 和 write() 操作后 GIF 图像变得错误

    我有这个代码 它只是读取 GIF 文件 用背景重新绘制它 然后输出到新的 GIF 文件 问题是结果文件变得奇怪 我不知道为什么它的质量变得很差 JPG 文件不会出现此问题 如何修复它 import java awt Color import
  • Eclipse:对 Java 1.7 的失望(未绑定库)

    我在全新安装的 Eclipse 中处理全新项目时遇到问题 重现步骤 下载此版本的 Eclipse http www eclipse org downloads packages eclipse ide java developers hel
  • android 中的 lang.NumberFormatException

    我有以下代码 除了在后台线程中从数据库读取一些值并使用这些值之外什么也不做 我使用 jar 绘制折线图 对于我用于每个数组值的折线图 问题是第三个我传递给绘制 LineChart 的构造函数的参数是 float float viteza S
  • RecyclerView:禁用焦点变化引起的滚动

    TL DR我有一个RecyclerView of EditTexts 当用户注意力集中时EditText 1并点击EditText 2 我想EditText 2获得焦点 但我不想要ReyclerView滚动 我怎样才能实现这个目标 我正在尝
  • android.R.layout.simple_list_item_1是什么?

    在我看到的所有示例中 他们在创建 ArrayAdapter 时仅使用 android R layout simple list item 1 android R layout simple list item 1是什么 它只是一个名为sim
  • IntelliJ IDEA 中的项目语言级别是多少?

    我正在使用 Java 7 SDK 和 IntelliJ IDEA IDE java version 1 7 0 11 Java TM SE Runtime Environment build 1 7 0 11 b21 Java HotSpo
  • 为什么永久代空间不断增长?

    我读过几篇文章 我理解以下内容 如果我错了 请纠正我和 或编辑问题 java堆是这样分段的 年轻代 创建的对象放在这里 这部分被频繁且廉价地垃圾收集 老一代 在年轻代的垃圾收集中幸存下来的对象会移到此处 该区域的垃圾收集频率较低 并且使用对
  • Java 中的下载管理器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要通过 FTP HTTP 从 Java 获取几个大文件 几个演出 有现成的库 java 命令行工具

随机推荐

  • 用于监控/调整 memcached 运行状况的有用提示/工具有哪些?

    昨天 我发现了这个很酷的脚本 内存缓存顶部 https code google com p memcache top 它很好地打印出 memcached 的实时统计信息 看起来像 memcache top v0 6 default port
  • 将派生类强制转换为基类

    这里发生什么类型的演员表 在B get class A public A a 0 int a class B public A public A get return this is this C style cast int main B
  • 使用不透明类型(Char 和 Long)

    我正在尝试导出算法的 Scala 实现以在 JavaScript 中使用 我在用着 JSExport 该算法适用于 ScalaChar and Long值被标记为opaque in the 互操作性指南 http www scala js
  • 我如何在 xcode 中获取数组?

    如何获取字典的值而不是循环 我知道如何使用以下方法获取单个值 NSString valueStr dict objectForKey Key2 我需要通过循环所有键来获取 我需要在字典中搜索一个值 因为看起来您正在尝试使用NS词典 http
  • 迁移合约时耗尽 Gas

    我看过其他 没油了 的帖子 但他们没有解决我的问题 我正在使用 ganache cli 开始 ganache cli account 0xce2ddf7d4509856c2b7256d002c004db6e34eeb19b37cee04f7
  • 如何确定实体框架是否正在等待连接池中的连接?

    我看到一些间歇性的速度减慢 sql 超时错误 我无法确定原因 我已经拼凑了一些线索 但我需要一些帮助来确定可能的后续步骤 问题 我们有一个表 其中包含 10 多万条记录 我们从 Web 应用程序运行异步计数 该表经常被写入 有时计数需要 2
  • 安装svn:重启apache后出错

    我这样创建了我的存储库 须藤 svnadmin 创建 svn 重新启动 apache 后出现此错误 第 16 行语法错误 etc apache2 mods enabled dav svn conf 这里不允许 DAV dav svn con
  • 我尝试从此 HTML 中提取价格 2 890 000K 和 地址 有 12 个相同的 div class list items content list items content 1 div class list items conten
  • 如何使 Ember.js 与 Grails 控制器名称配合?

    Grails 非常强大 可以让您使用一条语句将 Domain 对象转换为 JSON object as JSON 不幸的是 由于一些原因 这不足以与 Ember js 交互 如何让 Grails 与 Ember js 完美配合 好问题 自我
  • 像 epub/ebook 一样显示动态 html 内容,而不将 html 转换为 epub 格式?

    我想创建一个响应式 移动优化的阅读体验 类似于 epub 电子书阅读器 如 Kindle 应用程序或 iBooks 使用动态 html 作为源 想象一下一篇长文章或博客文章需要大量垂直滚动才能阅读 尤其是在小型移动设备上 我想做的是将长页面
  • seaborn clustermap:subplots_adjust 取消颜色条重新定位

    我正在尝试使用seaborn制作侧面带有颜色条的热图 但是 在我的实际应用程序案例中 我有很长的列名称需要轮换 这需要使用plt subplots adjust 否则标签不适合图像 plt setp g ax heatmap get xti
  • Netbeans“未执行任何测试”

    我有一个包含单元测试的 php 项目 我使用 Netbeans 进行开发 并希望在我的 IDE 中集成 phpunit 如果我从命令行运行 phpunit 它就可以工作 如果我按 Alt F6 在 Netbeans 中运行测试 则不会运行任
  • 在 Python 中转义 JavaScript 字符串

    我有一个 Python 脚本 它构建一些 JavaScript 以 JSON 信封的形式发送到浏览器 我想转义 JavaScript 字符串并用单引号分隔它们 我不能使用json dumps因为它使用双引号作为分隔符 就像 JSON 规范所
  • 如何通过 ajax 刷新由 JSF 填充的 javascript 变量?

    我想做以下事情 从其中选择一个项目h selectOneMenu 通过 ajax 使用新值更新支持 bean 使用新值运行 Javascript 函数 但在下面的代码中 alert backingBean derivedValue 仍然包含
  • golang mqtt 发布和订阅

    有谁知道我可以在哪里获得一些在无限循环中发布和订阅的示例 MQTT 客户端 Go golang 代码 我正在与在 MacO 上运行的 Mosquitto 代理进行消息传递 更详细地 从网络获取消息 主题 根据该消息计算一些内容 将计算结果发
  • 使用 github api 从拉取请求号获取拉取请求合并提交 sha

    我正在尝试使用 github api 通过 githubothttps github com iangreenleaf githubot https github com iangreenleaf githubot 从拉取请求编号获取拉取请
  • 在反应中创建表单的最佳方法是什么?

    我是反应初学者 我有以下代码 import React useState useEffect from react import Card Form Button from react bootstrap import Axios from
  • 张量流梯度 - 获取所有 nan 值

    我正在使用带有 anaconda 的 python 3 以及带有 eager eval 的tensorflow 1 12 我正在使用它为暹罗网络创建三元组损失函数 并且需要计算不同数据样本之间的距离 我创建了一个函数来创建距离计算 但无论我
  • docker-compose 用于分离模式

    我有以下 docker 命令来运行容器 docker run d name test v etc hadoop conf etc hadoop conf v usr lib python2 7 dist packages hdinsight
  • 带有布尔值的 java.lang.NullPointerException

    我根据另一个问题编写了一个非常简单的代码 如下所示 它给我一个错误 java lang NullPointerException 第 5 行和第 17 行 我不知道我做错了什么 public class Main public static