Для enum
только с одной переменной-членом, существует ли более простой (и передовой опыт) способ доступа к ней без использования метода доступа? В качестве альтернативы я рассмотрел использование public static final
переменных в классе констант, но чем больше я читаю, тем больше людей предлагают использовать enum
в качестве способа инкапсуляции этих значений.
Чтобы попытаться проиллюстрировать, что я имею в виду, я включил следующий пример:
public enum FILE_NAME {
MAIN("MAIN.TXT"),
ATTACHMENT("ATTACHMENT.TXT"),
OTHER("OTHER.HTM");
private String fileName;
FILE(String fileName) {
this.fileName = fileName;
}
public String getfileName() {
return fileName;
}
}
Я бы тогда обычно обращался к этому значению так:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ZipOutputStream zip = new ZipOutputStream(bos);
// Add file
zip.putNextEntry(new ZipEntry(FILE_NAME.MAIN.getFileName()));
Для моего конкретного случая использования я бы предпочел получить доступ к имени файла с помощью вызова, подобного:
...
zip.putNextEntry(new ZipEntry(FILE_NAME.MAIN));
При этом код уменьшает длину (и почти синтаксическую избыточность вызова имени файла в файле) вызова, необходимого для доступа к тексту MAIN
имени файла. Хотя это может быть даже неосуществимо или нежелательно, мне любопытно узнать, стоит ли это учитывать.
Спасибо.