gpt4 book ai didi

java - 如何在三元运算符中使用枚举检查两个条件?

转载 作者:行者123 更新时间:2023-11-30 06:01:32 25 4
gpt4 key购买 nike

我有一个枚举:

public enum GSProccesingType {
bigCover,
cover,
other
}

这样的情况如果封面出现则选择FileStoreUtils.coverFileName,如果bigCover出现则选择bigCoverFileName else "04d .png"

我无法为 cover 和 bigCover 制定短期条件

final String fileName = proccesingType == cover  ? FileStoreUtils.coverFileName : "%04d.png";

final String fileName2 = proccesingType == bigCover ? FileStoreUtils.bigCoverFileName : "04d.png";

如何将两条线正确连接到一根?

最佳答案

您可以像这样使用嵌套三元运算符:

final String fileName = proccesingType == cover  ? 
FileStoreUtils.coverFileName :
(proccesingType == bigCover ? FileStoreUtils.bigCoverFileName : "%04d.png");

,但这很难阅读。我建议为此创建一个方法:

private String getFilename(GSProccesingType type) {
switch(type) {
case cover: return FileStoreUtils.coverFileName;
case bigCover : return FileStoreUtils.bigCoverFileName ;
default: return "%04d.png";
}
}

虽然更长,但更容易阅读和理解。

我还建议关注generally accepted naming conventions ,并使用 ALL_UPPERCASE 表示枚举常量。

关于java - 如何在三元运算符中使用枚举检查两个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52197320/

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