当前位置: 首页 > news >正文

关于java三元组的问题

在改代码的时候,发现一个奇怪的地方,举例如下

@Testpublic void buildTest(){TT t = new TT();Long time = t==null?System.currentTimeMillis():t.getTime();System.out.println("done");}@Datapublic static class TT{Long time;}

这个地方运行就会报错,空指针异常
在这里插入图片描述
后来查了一下,GPT是这么回答的:
对于一个三元表达式,它会在执行的时候逐个计算其分支,然后根据条件的真假来选择返回哪个分支的结果。问题在于,如果某个分支中有引用类型(例如调用方法或访问属性),而这个引用值为 null,那么在执行这个分支的时候就会触发空指针异常。

这是因为在执行分支时,Java 会尝试解引用引用类型(调用其方法或访问其属性),但是如果引用值为 null,就无法继续操作。这就导致了空指针异常。
如果不是引用类型,直接放null是没有问题的,切记

http://www.lryc.cn/news/137762.html

相关文章:

  • 如何正确地设置Outlook SMTP发送电子邮件(wordpress配置)
  • 机器学习编译系列---张量程序抽象
  • python使用matplotlib实现折线图的绘制
  • 网络协议的定义、组成和重要性?
  • vue 使用print.js打印小票
  • 算法通关村第6关【白银】| 树的层次遍历问题
  • Qt与电脑管家3
  • Jmeter 快速生成测试报告
  • 消息队列——RabbitMQ(一)
  • 人工智能在机器学习中的八大应用领域
  • vue3+ts使用vue-i18n
  • 在Ubuntu上安装和设置RabbitMQ服务器,轻松实现外部远程访问
  • Redis多机实现
  • ClickHouse安装及部署
  • [HarekazeCTF2019]Easy Notes-代码审计
  • nginx-location正则
  • 微信小程序胶囊位置计算,避开胶囊位置
  • 快速指南:使用Termux SFTP通过远程进行文件传输——”cpolar内网穿透“
  • 记录一个用C#实现的windows计时执行任务的服务
  • “深入剖析JVM内部机制:了解Java虚拟机的工作原理“
  • golang远程开发调试设置vscode插件失败解决方法记录
  • 数据结构:二叉树及相关操作
  • 4.物联网LWIP之C/S编程,stm32作为服务器,stm32作为客户端,代码的优化
  • 【C语言】扫雷游戏(可展开)——超细教学
  • 数据的深海潜行:数据湖、数据仓库与数据湖库之间的微妙关系
  • Docker 安装 Redis集群
  • 数据结构入门 — 链表详解_单链表
  • 从零学算法151
  • 【Vue】动态设置元素类以及样式
  • node和前端项目宝塔部署