在java中将骆驼式字符串解析为大写枚举的任何优雅方法?

coo*_*lsv -1 java enums

我需要从字符串解析枚举实例。问题是我有骆驼样式的输入字符串,例如docType和常量样式的枚举,例如DOC_TYPE.

据我所知,java 需要在枚举解析上完全匹配,所以我试图找到一种优雅的方法来解决这个问题。

str*_*sus 5

Apache commons 提供了一个方便的实用方法来拆分驼峰式字符串:Apache commons

我已经用它来做你所需要的:

final String[] words = StringUtils.splitByCharacterTypeCamelCase(camelCase);
final String name = String.join("_", words).toUpperCase();
Run Code Online (Sandbox Code Playgroud)