我有一个如下的字符串:
"[Monday, Tuesday]"
我想将此字符串转换为类型为"Day"的枚举列表。我的"Day"枚举定义如下:
public enum Day {
Monday,Tuesday;
}
我通过调用“Day”列表的toString()方法来获取我的输入字符串。如下所示:
List<Day> days = new ArrayList<Day>();
days.add(Day.Monday);
days.add(Day.Tuesday);
String input = days.toString();
我知道可以通过逗号和括号对输入的字符串进行解析。但是,有没有更有效的方法来做到这一点?
再说一遍,我想将字符串转换为枚举值的列表。
**编辑**
问题不仅涉及将字符串转换为枚举类型及其反之,还包括列表和字符串解析。
days.toString()
中将枚举类型“保存”为字符串吗?你可以使用更简单的方法,例如String input = String.join(",", days);
,然后使用String[] enums = input.split(","); for (String e : enums) Day d = Day.valueOf(e);
进行解析。 - assylias