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

Java基础361问第16问——枚举为什么导致空指针?

我们看一段代码

public enum Color {RED, BLUE, YELLOW;public static Color parse(String color) {return null;}
}public static void main() {Color color = Color.parse("");// 极具迷惑性,大家日常开发肯定这么写过switch (color) {case RED:break;case BLUE:break;case YELLOW:break;default:break;}}

运行一下,发现了 空指针 Color.ordinal()’ on a null object reference
在这里插入图片描述
为什么呢?

原来Color是一个继承了 Enum的特殊类,里面有一个 ordinal() 方法,当我们使用 switch去传入 color时,编译器内部会调用 Color的ordinal()方法去获取int值,此时出现了 空指针
在这里插入图片描述

相关文章:

  • 第十三章-PHP MySQL扩展
  • DeepSeek+即梦:AI视频创作从0到1全突破
  • 深度学习任务评估指标
  • SQL 易混易错知识点笔记1(drop,role,%,localhost)
  • DNA-free基因组编辑技术任重而道远
  • 机器人--激光雷达
  • 低空经济无人机创新实训室解决方案
  • 武汉同济医院大模型应用通识第2课聚焦提示词工程,和鲸助力开讲
  • 如何搭建spark yarn模式的集群
  • Centos小白之在CentOS8.5中安装Rabbitmq 3.10.8
  • DSP48E2 的 MAC模式功能仿真
  • 线段树合并与分解
  • 从外卖大战看O2O新趋势:上门私厨平台系统架构设计解析
  • power bi获取局域网内共享文件
  • Kubernetes》》k8s》》Taint 污点、Toleration容忍度
  • dummy cli-tool ubuntu22.04使用
  • QT:自定义ComboBox
  • MySQL 表的约束(二)
  • vs2022解决 此项目需要MFC库。从visual studio安装程序(单个组件选项卡)为正在使用的任何工具和体系结构安装他们问题
  • 【AI生产力工具】Windsurf,一款AI编程工具
  • 解放日报头版聚焦“人民城市”:共建共享展新卷
  • 新华每日电讯:从上海街区经济看账面、市面、人面、基本面
  • 俄罗斯总统普京:5月8日零时至11日零时实施停火
  • 传染病防治法修订草案提请三审,拟加强医疗机构疾控能力建设
  • 艺术与医学的对话,瑞金医院办了一个展览
  • 泽连斯基公布与特朗普会晤细节,强调实现全面、无条件停火