如何使用三元运算符中的枚举检查两个条件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用三元运算符中的枚举检查两个条件?相关的知识,希望对你有一定的参考价值。
我有一个枚举:
public enum GSProccesingType
bigCover,
cover,
other
这样的条件,如果盖子然后被选中FileStoreUtils.coverFileName
,如果bigCover
然后选择bigCoverFileName
否则“04d.png”
我无法为封面和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作为枚举常量。
以上是关于如何使用三元运算符中的枚举检查两个条件?的主要内容,如果未能解决你的问题,请参考以下文章