Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.mycompany.app21;
- import java.util.ArrayList;
- public class Main3 {
- // метод для обработки элемента из потока данных
- public static void processValue(String value){
- System.out.println("processValue=" + value);
- }
- // метод для обработки элемента из потока данных
- public static void doIt(String value){
- System.out.println("doIt=" + value);
- }
- //
- public static void main(String[] args) {
- MyFilter filter1 = new MyFilter(2);
- MyFilter filter2 = new MyFilter(3);
- ArrayList<String> list = new ArrayList<>();
- list.add("ONE");
- list.add("TWO");
- list.add("TWO123");
- list.add("O");
- //
- System.out.println("\nSAMPLE1:");
- // filter1 - объект реализует интерфейс Predicate
- list.stream().filter(filter1).forEach(x -> System.out.println(x));
- System.out.println("\nSAMPLE2:");
- // filter1, filter2 - объект реализует интерфейс Predicate
- list.stream().filter(filter1)
- .filter(filter2).forEach(x -> System.out.println(x));
- // использование ссылок на методы - используем оператор ::
- // используем ссылку на метод println
- list.stream().filter(filter1)
- .filter(filter2).forEach(System.out::println);
- // Вариант 1) - ссылка на статический метод
- // Вариант 2) - ссылка на метод объекта - экземпляра класса
- // ссылка на статический метод класса Main3
- System.out.println("Main3::processValue: ");
- list.stream().filter(filter1)
- .filter(filter2).forEach(Main3::processValue);
- //
- System.out.println("Main3::doIt: ");
- list.stream().filter(filter1)
- .filter(filter2).forEach(Main3::doIt);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement