Guest User

Untitled

a guest
Nov 21st, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. public enum tabs
  2. {
  3. A("Actual data"),
  4. B("Bad data"),
  5. C("Can data"),
  6. D("Direct data");
  7.  
  8. private String description;
  9. tabs(String desc)
  10. {
  11. this.description = desc;
  12. }
  13.  
  14.  
  15. public String getDescription()
  16. {
  17. return this.description;
  18. }
  19. }
  20.  
  21. tabs.A.description
  22.  
  23. public static String[] getActualTabs(Class<? extends Enum<?>> e)
  24. {
  25. return Arrays.stream(e.getEnumConstants()).map(Enum::name).toArray(String[]::new);
  26. }
  27.  
  28. public static <T> String[] getActualTabs(Class<T> e, Function<? super T, String> mapper)
  29. {
  30. return Arrays.stream(e.getEnumConstants()).map(mapper).toArray(String[]::new);
  31. }
  32.  
  33. System.out.println(Arrays.toString(getActualTabs(tabs.class, (tabs.class,tabs::getDescription)));
  34.  
  35. [Actual data, Bad data, Can data, Direct data]
  36.  
  37. public interface HasDescription {
  38. String getDescription();
  39. }
  40.  
  41. public static String[] getActualTabs(Class<? extends Enum<?> & HasDescription> e) {
  42. return Arrays.stream(e.getEnumConstants())
  43. .map(HasDescription::getDescription)
  44. .toArray(String[]::new);
  45. }
Add Comment
Please, Sign In to add comment