fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.function.*;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. List<TestEnum> allEnums = Arrays.asList(
  14. new TestEnum(Arrays.asList(FileFormatCodeEnum.values()), s -> FileFormatCodeEnum.parse(s))
  15. , new TestEnum(Arrays.asList(RoleTypeCodeEnum.values()), s -> RoleTypeCodeEnum.parse(s))
  16. );
  17. for (TestEnum t : allEnums) {
  18. for (Enum v : t.getValues()) {
  19. System.out.println(t.getParse().apply(v.toString()) == v);
  20. }
  21. }
  22. }
  23. }
  24.  
  25. enum FileFormatCodeEnum {
  26. ONE, TWO;
  27. public static FileFormatCodeEnum parse(String s) {
  28. return s.charAt(0)=='O' ? ONE : TWO;
  29. }
  30. }
  31. enum RoleTypeCodeEnum {
  32. THREE, FOUR;
  33. public static RoleTypeCodeEnum parse(String s) {
  34. return s.charAt(0)=='T' ? THREE : FOUR;
  35. }
  36. }
  37. class TestEnum {
  38. private final List<Enum> values;
  39. private final Function<String,Enum> parse;
  40. public TestEnum(List<Enum> v, Function<String,Enum> p) {
  41. values = v;
  42. parse = p;
  43. }
  44. public List<Enum> getValues() { return values; }
  45. public Function<String,Enum> getParse() { return parse; }
  46. }
  47.  
Success #stdin #stdout 0.12s 4386816KB
stdin
Standard input is empty
stdout
true
true
true
true