枚举常量不存在异常的正确解决方法java.lang.EnumConstantNotPresentException:亲测有效!!!嘿嘿嘿

java.lang.EnumConstantNotPresentException: 枚举常量不存在异常的有效解决方法 阅读详情

异常原因

java.lang.EnumConstantNotPresentException 异常通常发生在 Java 程序试图通过名字访问一个不存在的枚举常量时。这种异常可能由以下原因引起:

  1. 枚举常量名称错误:代码中引用的枚举常量名称不正确,可能是拼写错误或大小写错误。
  2. 枚举类未正确加载:由于类路径问题或其他类加载问题,包含枚举常量的枚举类没有被正确加载到 JVM 中。
  3. 运行时环境改变:程序编译时枚举常量存在,但运行时的环境(如 jar 包版本)中该枚举常量不存在了。

解决思路

  1. 检查枚举常量名称:确保代码中引用的枚举常量名称完全正确,包括大小写。
  2. 检查类路径和依赖:确保包含枚举常量的枚举类所在的 jar 包或其他依赖项已正确添加到项目的类路径中。
  3. 检查运行时环境:确保编译时和运行时的环境一致,特别是当使用外部库或依赖时。

解决方法

  1. 修正枚举常量名称:如果枚举常量名称错误,修正它即可。
// 假设有一个枚举类 Color
enum Color {
    RED, GREEN, BLUE;
}

// 错误的引用
Color color = Color.valueOf("Red"); // 这里应该使用全大写 RED

// 正确的引用
Color color = Color.valueOf("RED");
  1. 确保依赖正确:检查项目的构建配置文件(如 Maven 的 pom.xml 或 Gradle 的 build.gradle),确保所有需要的依赖都已正确声明,并且版本没有冲突。

  2. 清理和重建项目:有时,简单的清理和重建项目可以解决因为旧类文件或缓存引起的问题。

代码示例

假设有一个枚举类 Color 和一个尝试访问它的类 Main:

// Color.java
public enum Color {
    RED, GREEN, BLUE;
}

// Main.java
public class Main {
    public static void main(String[] args) {
        try {
            // 正确的访问方式
            Color color = Color.valueOf("RED");
            System.out.println(color);

            // 错误的访问方式(会导致 EnumConstantNotPresentException)
            // Color wrongColor = Color.valueOf("YELLOW");
            // System.out.println(wrongColor);
        } catch (IllegalArgumentException e) {
            // 如果枚举常量不存在,valueOf 方法会抛出 IllegalArgumentException
            System.err.println("枚举常量不存在: " + e.getMessage());
        } catch (EnumConstantNotPresentException e) {
            // 在某些情况下,如果枚举是通过 Class.getEnumConstants 或 Enum.valueOf 访问的,
            // 则可能抛出 EnumConstantNotPresentException
            System.err.println("枚举常量未找到: " + e.getMessage());
        }
    }
}

在上面的代码中,我们尝试通过 Color.valueOf("RED") 正确访问一个存在的枚举常量,并且处理了 IllegalArgumentException 和 EnumConstantNotPresentException 异常。如果你尝试访问一个不存在的枚举常量(例如注释掉的代码行),程序会捕获异常并打印错误信息。

确保你的项目构建系统正确设置了依赖,并且所有必要的类文件都可用。如果问题依旧存在,检查你的运行时环境是否与你编译时使用的环境一致。

光谱预处理最简单实现方法--基于OpenSA光谱分析库 系列文章目录 “光晰本质,谱见不同”,光谱作为物质的指纹,被广泛应用于成分分析中。伴随微型光谱仪/光谱成像仪的发展与普及,基于光谱的分析技术将不只停留于工业和实验室,即将走入生活,实现万物感知,见微知著。本系列文章致力于光谱分析技术的科普和应用。 文章目录系列文章目录前言一、数据来源二、代码解读2.1 读取数据2 .2 划分数据集2 .3 返回训练集和测试集并绘制光谱图片2.4 建立1-D CNN模型2.5 训练1-D CNN模型2.6 测试1-D CNN模型2.7 运行CNN模型,并用查看结果总结 阅读详情

相关推荐

SAP中错记虚拟利润中心的调整,冲销处理实例

我非CO专业顾问。工作中遇到的问题,也会找资料,分析,测试。有时这个过程会拿到结果,解决问题。遂将过程记录下来备查。读者请谨慎参考!EC-PCA: 利润中心记账流程_9ke0-优快云博客。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 1795

报java.lang.EnumConstantNotPresentException异常场景

在一次的服务发布时出现java.lang.EnumConstantNotPresentException异常,导致服务起不来,排查原因时由于枚举类中的一个枚举值在使用,但是引用依赖的jar包版本中不是最新版本导致的服务启动时,反射机制检查发现未找到对应的枚举值。 解决方法是找到对应的枚举值所在的jar包版本,强制在maven的pom文件中引入该版本,重新引入即可。 【参考】https://stackoverflow.com/questions/31261960/when-does-java-lang-enu

Mr_Gao_D的博客 1644

NSGA(非支配排序遗传算法)

在多目标优化问题中,往往存在多个相互冲突的目标需要同时优化。传统的单目标优化算法无法直接应用于这类问题,因此需要专门的多目标优化算法。非支配排序遗传算法(Non-dominated Sorting Genetic Algorithm,NSGA)是一种经典的多目标优化算法,由印度科学家 Kalyanmoy Deb 等人于 1995 年提出。NSGA 通过非支配排序和拥挤度距离来引导种群向 Pareto 最优前沿进化,从而得到一组具有良好分布性和收敛性的 Pareto 最优解。

2969

已解决java.lang.EnumConstantNotPresentException: 枚举常量不存在异常的正确解决方法,亲测有效!!!

已解决java.lang.EnumConstantNotPresentException: 枚举常量不存在异常的正确解决方法,亲测有效!!!

小明的Java问道之路 1591

物联网技术(AIR780E cat1-4G模块+小程序+腾讯云MQTT)驱动的智能井盖系统设计(连载01)

终端设备采用AIR780E模块作为主控器,电子模块有三轴加速度传感器、可燃气体传感器,AIR780E模块(4G模块)通过MQTT通信协议进行数据打包上传至EMQX服务器,在EMQX服务器中,用户可以自行订阅主题和发布主题,小程序通过MQTT通信协议订阅EMQX服务器的主题,服务器通过接收到硬件发布的数据,转发到微信小程序。

leida_3669的博客 2214

芯片硅前验证技术与驱动工程师实战指南

硅前验证是芯片开发流程中的关键环节,通过pre-silicon simulation等技术手段在流片前验证设计正确性。其核心技术包括软件仿真、FPGA原型验证和硬件仿真器解决方案,涉及Linux驱动开发、芯片架构理解和波形分析等核心技能。作为连接芯片设计与系统集成的桥梁,硅前验证能早期发现设计缺陷,节省数百万美元流片成本。以Cadence Palladium为代表的硬件仿真器,通过专用服务器系统实现比纯软件方案快100-1000倍的仿真速度,为驱动工程师提供完整的外设模型验证环境。掌握硅前验证技术可显著提升

weixin_42522857的博客 320

常用Exception

【代码】常用Exception。

老艮额的专栏 262

2022北京高考数学压轴题21题:Python暴力枚举验证k≥7的5种反例

本文探讨了2022北京高考数学压轴题21题的编程解法,通过Python暴力枚举验证k≥7的5种反例。文章详细介绍了m-连续可表数列的定义、问题转化与约束条件,并提供了暴力枚举算法设计和优化技巧,帮助读者理解如何用编程思维解决数学问题。

weixin_33552698的博客 232

Mybatis数据转换枚举异常原因,解决方案:

今天使用比如:我的activity表中存放activity_type为1,想要通过Mybatis转换后为正在使用当然,可以使用if else 但是状态值很多时,就变得很复杂,且不利于维护,故需要用到数据库查询时获得activity_type值为1,通过Mybatis依照枚举类进行转换获取到对应的状态之前使用时总是报错:原因是无法使用Mybatis默认的转换器。

w990403的博客 1736

2025年7月5日全国青少年信息素养大赛Python编程初中组复赛真题+答案解析

2025年7月5日全国青少年信息素养大赛Python编程初中组复赛真题+答案解析

伶俐角少儿编程 464

C# 与欧姆龙 PLC 实战:通过 Ethernet/IP 协议进行设备控制与监控

本文介绍了如何通过C#和Ethernet/IP协议实现与欧姆龙PLC的通信。Ethernet/IP是基于以太网的工业协议,适用于工业设备间的实时数据交换。文章详细讲解了使用EthernetIPSharp库建立连接、读写数据的步骤,并提供了示例代码。此外,还探讨了实时监控、报警系统等高级功能,为工业自动化控制系统开发提供了实用指导。该方法简化了PLC通信开发,提高了系统可靠性和智能化程度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 811

java.lang.EnumConstantNotPresentException异常的正确解决方法,亲测有效,嘿嘿嘿

`java.lang.EnumConstantNotPresentException` 异常通常发生在尝试通过其名称(使用 `Enum.valueOf(Class enumType, String name)` 方法)来访问枚举常量时,但指定的枚举类型中不存在具有该名称的常量。这通常是因为枚举类型在编译时和运行时之间发生了变化,或者是因为枚举常量的名称在序列化/反序列化过程中被错误地修改了。 ### 问题分析 当你看到 `EnumConstantNotPresentException` 时,这通常

PythonAigc的博客 1201

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

已解决:java.lang.EnumConstantNotPresentException

在Java开发中,枚举类型是一种常用的特性,用于定义一组固定的常量。然而,在使用枚举类型时,如果操作不当,可能会引发。异常通常出现在尝试访问一个枚举类型的常量,但该常量并不存在于枚举定义中时。本文将详细分析该异常的背景、可能出错的原因,并通过代码示例帮助您理解和解决这一问题。异常,提高代码的健壮性和可维护性。希望本文能够帮助您理解并解决这一常见的报错问题。,我们需要确保访问的枚举常量是有效的。在编写和使用枚举类型时,注意以下几点可以有效避免。通过以上方法,您可以有效避免。

屿小夏.的知识博客 847

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【Java】已解决:java.lang.EnumConstantNotPresentException

本文将详细探讨这一异常的背景、可能的原因、错误与正确的代码示例,并提供相关注意事项,帮助开发者理解并解决该问题。是一种运行时异常,它通常出现在程序尝试访问一个不存在的枚举常量时。)是一个非常有用的工具,特别是在需要定义一组常量时。然而,在使用枚举时,有时会遇到。,确保程序的稳定性和可维护性。希望本文能够帮助您理解并解决这一常见的枚举异常问题。方法的名称与枚举常量的名称精确匹配。如果我们试图通过名称获取一个不存在的枚举常量,比如。在Java编程中,枚举类型(假设我们有一个简单的枚举类型。

屿小夏.的知识博客 836

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java.lang.EnumConstantNotPresentException

EnumConstantNotPresentException

weixin_43801300的博客 778

Java基础异常整理(持续更新)

想看更全更多整理请看 http://www.apexyun.comjava.lang java.lang.ArithmeticException 异常算术条件时抛出。 例如,“除以零”的整数会抛出。 java.lang.ArrayIndexOutOfBoundsException 抛出以表示使用非法索引访问数组。 索引为负数或大于或等于数组的大小。 java.lang.ArrayStoreExce...

weixin_33834679的博客 191

Java操作Istio虚服务VirtualService

结果莫名其妙报错了: com.fasterxml.jackson.annotation.JsonTypeInfo$Id.DEDUCTION 版本冲突

zanhai的专栏 783

EnumConstantNotPresentException源码,使用名称访问枚举常量名称,发现该名称不存在枚举常量引发的异常,是RuntimeException子类

package java.lang; @SuppressWarnings("rawtypes") public class EnumConstantNotPresentException extends RuntimeException { private static final long serialVersionUID = -6046998521960521108L; ...

zhaoqian19921029的博客 1652

Java——程序包不存在【三种解决方法】

当其他方法都试过后,还是程序包不存在那么就应该使用方法三——设置配置 【记得勾选上】

zhaofuqiangmycomm的博客 7731

若枚举映射的值不存在,则不进行反序列化

在开发中会经常使用到枚举,而使用其的时候,可能会出现传的值并不在枚举定义的值中,则报错;出现这样子的原因就是对应的值并不存在枚举里面,从而无法进行正常的对象转换赋值,一般经常出现场景无非两个地方一、controller层接口被外部调用的时候;二、mybatis查询结果出来反序列化的时候。某天突发想法,为什么在反序列化的时候,没有传入的值并不在枚举映射的值时候,不报错,自动赋值为null呢?...

搏·梦的博客 1766

“ComponentInternalInstance”是一种类型,必须在启用 “verbatimModuleSyntax“ 时使用仅类型导入进行导入。ts(1484)

解决办法2: 不想加type的话, 将根目录下的ts配置文件tsconfig.app.json 中的。解决办法1(推荐): 加type 说明导入的是type类型。新建vue3项目,把之前的公共文件拿来服用就出现了这个错误。选项中添加代码, 错误提示就消失。

xiaoxiaoqiliuhai的博客 2919

Maven导Junit5包,出现警告未知的枚举常量org.apiguardian.api.API.Status.STABLE

原来按照网上找的在pom文件加上junit5的包的内容如下: <dependencies> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-l...

la_la_la_la_la的博客 2374

未知的枚举常量:javax.annotation.meta.When.MAYBE || 找不到javax.annotation.Nullable || 找不到javax.annotation.meta

 Warning:java: 未知的枚举常量 javax.annotation.meta.When.MAYBE   原因: 找不到javax.annotation.meta.When的类文件 编译项目时报错,找不到类,我自己去jar包里找也找不到。 如下图,找到swagger依赖的com.google.guava包; 这个包用的javax.annotation包不是下图中jdk里面的...

Cassidy的博客 3万+

出现No enum constant xxx

enum类使用报错:No enum constant xxx

weixin_46030936的博客 1127

Python 进阶语法:enum(枚举)

计算机里面的一些数据结构是为了反映现实生活中的各种各样的事物,以及事物与事物之间关系的。那么,现实世界中的类型概念在编程语言里应该如何来描述呢?我们最常见的描述类型的方式会用一些数字来描述,比如,1表示男,2表示女。我们也经常会把这些数字存储在我们的数据库里,每个数字代表一种类型。这种描述类型的方法非常简洁,但也有缺点。缺点在于,当我们读到这些数字的时候,我们无法知道这些数字究竟表示什么类型。因为数字本身不具备描述性。所以,用数字表示类型的方式,极大的破坏了编程代码的可阅读性。

moment159的博客 8262
上一篇: 亲测有效,已解决java.lang.IllegalStateException异常的正确解决方法,嘿嘿嘿
下一篇: : 类循环依赖错误的正确解决方法,java.lang.ClassCircularityError异常 亲测有效!!!嘿嘿嘿
代码无疆
博客等级 码龄3年 4万+粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值