gpt4 book ai didi

java - Java 中枚举中的 null

转载 作者:行者123 更新时间:2023-12-02 02:05:20 24 4
gpt4 key购买 nike

我的 Controller 中的功能有 3 个枚举类型。此外,还对 UI 设置了适当的检查。但是,如果有人用等于 null 的值测试 API,那么我不知道如何处理。

代码如下:

public enum AuthStatus implements Comparable<AuthStatus> {
ABC("test", "testtt", -1),
DEF("tesds", "dsds", 0),
.
.

如果有效负载中给出了 ABC 或 DEF,一切正常,如果有效负载中没有给出任何内容该怎么办,即“”。

基本上,我想添加“”作为枚举类型,例如:

ABC("test", "testtt", 2), 
DEF("tesds", "dsds", 0),
""("invalid", "Not Valid", -1) // What should be replaced by "".

最佳答案

枚举名称必须是有效的 Java 标识符,并且不存在字符长度为零的有效 Java 标识符。

如果您想将输入与某个值进行匹配,那么使用 Java 枚举名称来表达这不是一个好主意,因为 Java 标识符还有更多限制(不能包含空格或许多其他字符)。您应该向枚举添加另一个字段,您可以将其称为 matchValue,并将您的输入与该值而不是枚举名称进行匹配。

public enum AuthStatus implements Comparable<AuthStatus> {
ABC("ABC", "test", "testtt", -1),
INVALID("", "invalid", "Not Valid", -1);

private final String matchValue;

private AuthStatus(String matchValue, ...) {
this.matchValue = matchValue;
}
}

关于java - Java 中枚举中的 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50903792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com