diff --git a/java/enum/enumMember.java b/java/enum/enumMember.java new file mode 100644 index 0000000..e0343ec --- /dev/null +++ b/java/enum/enumMember.java @@ -0,0 +1,26 @@ +// かっこいいEnumの活用 + + public enum FileType { + SystemCd("sys", 10), + DcfDrCd("dcf", 6); + public final String paramName; + public final int cdLength; + private FileType(final String paramName, final int cdLength) { + this.paramName = paramName; + this.cdLength = cdLength; + } + public static Optional paramNameOf(final String paramName) { + return Stream.of(values()).filter(f -> f.paramName.equals(paramName)).findAny(); + } + } + +// enumはこんなに拡張できる(Javaのみらしい) +// 以下サンプル + +// fileTypeで与えられた文字列が定義されてるかどうかを一撃で判定できる +final String fileType = "hoge"; +if (!FileType.paramNameOf(fileType).isPresent()) + +// enumの各項目に紐づく値を取れる +FileType filetype = FileType.SystemCd; +fileType.cdLength;