Case-insensitive matching of a string to a Java enum

后端 未结 9 1580
独厮守ぢ
独厮守ぢ 2020-12-24 10:59

Java provides a valueOf() method for every Enum object, so given an enum like

public enum Day {
         


        
9条回答
  •  清歌不尽
    2020-12-24 11:21

    For Android and relatively short Enums, I do the simple loop and compare the name ignoring the case.

    public enum TransactionStatuses {
        public static TransactionStatuses from(String name) {
            for (TransactionStatuses status : TransactionStatuses.values()) {
                if (status.name().equalsIgnoreCase(name)) {
                    return status;
                }
            }
            return null;
        }
    }
    

提交回复
热议问题