Enum in Java
1. Enum Class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | public enum ContainerPropertyConstants { RETAILER( "retailer" ), LINED( "isLined" ), BAGGING( "bagging" ), MISSING( "missing" ), MOVABLE( "movable" ), RESERVABLE( "reservable" ), CONTAINED_DELIVERY_TOTE( "hasContainerDeliveryTote" ), DAMAGED( "isDamaged" ), DIRTY( "isDirty" ), TAINTED( "isTainted" ), CONTAINED_STOCK( "hasContainedStock" ), UNKNOWN( "unknown" ); private String value; private ContainerPropertyConstants(String value) { this .value = value; } public String getValue() { return value; } @Override public String toString() { return this .getValue(); } public static ContainerPropertyConstants getEnum(String propertyKey) { for (ContainerPropertyConstants v : values()) { if (v.getValue().equals(propertyKey.trim())) { return v; } } return UNKNOWN; } } |
2. Use Enum Class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | private BinAttributes getBinAttributes(Map<PropertyKey, PropertyValue> properties, BinAttributes.Builder builder) { properties.forEach((k, v) -> { switch (ContainerPropertyConstants.getEnum(k.toString())) { case LINED: break ; case MOVABLE: builder.setAccessibleToPhoenix(Boolean.valueOf(v.getPropertyValue())); break ; case RESERVABLE: break ; case CONTAINED_DELIVERY_TOTE: break ; case DAMAGED: builder.setDamaged(Boolean.valueOf(v.getPropertyValue())); break ; case DIRTY: builder.setContaminated( Boolean.valueOf(v.getPropertyValue())); break ; case TAINTED: builder.setTainted(Boolean.valueOf(v.getPropertyValue())); break ; case CONTAINED_STOCK: break ; case UNKNOWN: throw new IllegalArgumentException( "Phoenix container property [" + k + "] not recognised." ); default : logger.info( "Currently cannot handle container property [{}]" , k);<br> break ; } }); return builder.build(); } |
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步