Advertisement
EBobkunov

Functional interface

Mar 11th, 2023
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.09 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.function.*;
  3.  
  4. class Main{
  5.     public static void main(String[] args) {
  6.         /**
  7.          * Predicate
  8.          * @FunctionalInterface public interface Predicate<T>
  9.          */
  10. //        Predicate<Integer> isPositive = x -> x>0;
  11. //        System.out.println(isPositive.test(5));
  12.         UnaryOperator<Integer> square = x -> x*x;
  13.         System.out.println(square.apply(5));
  14.         BinaryOperator<Integer> multiply = (x,y) -> x*y;
  15.         System.out.println(multiply.apply(52,61));
  16.         Function<Integer,String> convert = x -> x +" $";
  17.         System.out.println(convert.apply(300));
  18.         Supplier<User> userFactory = () -> {
  19.             Scanner in = new Scanner(System.in);
  20.             System.out.println("Enter name: ");
  21.             String name = in.nextLine();
  22.             return new User(name);
  23.         };
  24.         User user1 = userFactory.get();
  25.         User user2 = userFactory.get();
  26.         System.out.println("user1 name: " + user1.getName());
  27.         System.out.println("user2 name: " + user2.getName());
  28. //        Tutor.StringFunction exclaim = s -> s + "!";
  29. //        Tutor.StringFunction ask = (s) -> s + "?";
  30. //        printFormatted("Hello", exclaim);
  31. //        printFormatted("Hello", ask);
  32. //
  33. //        ArrayList<Integer> numbers = new ArrayList<>();
  34. //        numbers.add(1);
  35. //        numbers.add(2);
  36. //        numbers.add(3);
  37. //        numbers.add(4);
  38. //        numbers.add(5);
  39. //        for(Integer number : numbers){
  40. //            System.out.print(number);
  41. //        }
  42. //        System.out.println("\n");
  43. //        numbers.forEach((n) -> System.out.print(n));
  44. //        System.out.println("\n");
  45. //        numbers.forEach(System.out::print);
  46.  
  47.     }
  48.     public static void printFormatted(String str, StringFunction format){
  49.         String result = format.run(str);
  50.         System.out.println(result);
  51.     }
  52. }
  53. class User{
  54.     private final String name;
  55.     String getName(){
  56.         return name;
  57.     }
  58.     User(String n){
  59.         this.name = n;
  60.     }
  61. }
  62. interface StringFunction{
  63.     String run(String str);
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement