Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.List;
  3.  
  4. @FunctionalInterface
  5. interface Mappable<T, R> {
  6. R map(T t);
  7. }
  8.  
  9. public class Main {
  10. public static void main(String[] args) {
  11. Mappable<Double, Integer> doubleToIntegerMapper = Double::intValue;//метод референс. Аналог в JS: Double.intValue
  12. Mappable<Double, Double> ceiler = d -> Math.ceil(d);
  13.  
  14. System.out.println(ceiler.map(1.6));
  15. System.out.println(doubleToIntegerMapper.map(1.6));
  16. System.out.println("--------------------------------");
  17.  
  18. //В джаве есть обычный [] массив, но на нем нет методов как в JS. Поэтому юзают List
  19. //Для инициализации List нет литерального синтаксиса, поэтому Arrays.asList
  20. List<Double> doubles = Arrays.asList(1.1, 1.5, 1.6);
  21.  
  22. //stream() потому что у List нет метода map, сначала приводить его к Stream
  23. doubles.stream()
  24. .map(ceiler::map)
  25. .map(doubleToIntegerMapper::map)
  26. .forEach(System.out::println);
  27. System.out.println("--------------------------------");
  28. doubles.stream()
  29. .map(doubleToIntegerMapper::map)
  30. .forEach(System.out::println);
  31. }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement