String []或List

时间:2016-02-12 10:45:37

标签: java constants

背景:
我编写了一个转换和重命名文件的应用程序。这些文件可能被命名为D01234XXX123.ext,需要重命名为FaaaabbbbbXXX123.ext。并且都具有相同的扩展名。

其中:
XXX:文件的类型(表达文件的主要内容) aaaa:我们文件层次结构第一阶段的整数 bbbbb:我们文件层次结构第二阶段的另一个整数。

我准备了一个包含XXX可能值

的类
public class TypeFolio {
/**
 * TypeFolio : APD
 */
public static final String APD = "APD";

/**
* TypeFolio : APP
*/
public static final String APP = "APP";
这些是大约50个常数 所以我想要做的是过滤TypeFolio上的文件,如下所示:

for(String type : TypeFolio)
(String) fileName.contains(type);

有什么可能性?
自己创建ArrayList? 或者是否有另一种方法可以从班级中扫描所有公共String? 或者Enum应该是更好的选择吗?

1 个答案:

答案 0 :(得分:0)

我更喜欢枚举:

public static void main(String[] args) {
    String filename = "APP";
    for (TypeFolio type : TypeFolio.values()) {
        System.out.println(filename.contains(type.name()));
    }
}


private enum TypeFolio {
    APD, APP;
}