fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.util.stream.*;
  5.  
  6. /* Name of the class has to be "Main" only if the class is public. */
  7. class Ideone
  8. {
  9. public enum UserSkills {
  10.  
  11. HARD_WORKNG("HARD_WORKNG"),
  12. ON_TIME("ON_TIME"),
  13. HONEST("HONEST");
  14.  
  15. public final String value;
  16.  
  17. UserSkills(String value) {
  18. this.value = value;
  19. }
  20.  
  21. @Override
  22. public String toString() {
  23. return name() + "[" + value + "]";
  24. }
  25.  
  26. public static List<UserSkills> of (String ... userSkills) {
  27. List<UserSkills> result = Arrays.stream(userSkills)
  28. .filter(Objects::nonNull)
  29. .map(UserSkills::valueOf)
  30. .distinct()
  31. .collect(Collectors.toList());
  32.  
  33. if (result.size() > 2) {
  34. throw new IllegalArgumentException("Only 2 skills can be selected");
  35. }
  36. return result;
  37. }
  38. }
  39.  
  40. public static void main(String args[]) {
  41. List<UserSkills> skills = UserSkills.of(null, "HARD_WORKNG", "HONEST", "HARD_WORKNG");
  42. System.out.println(skills);
  43. }
  44. }
  45.  
Success #stdin #stdout 0.14s 50956KB
stdin
Standard input is empty
stdout
[HARD_WORKNG[HARD_WORKNG], HONEST[HONEST]]