Define
a Functional interface that accepts single value.
package com.sample.functional.interfaces; /** * Functional interface that accepts a value. * * @author krishna * * @param <T> The value type. */ public interface Consumer<T> { /** * Accepts single object. * * @param obj */ public void accept(T obj); }
Task.java
package com.sample.functional.interfaces; /** * * It is a functional interface similar to {@link Runnable} interface and allows * you to throw checked exception. * * @author Krishna * */ public interface Task { /** * Execute the task. * */ public void run(); }
Application.java
package com.sample.app; import com.sample.functional.interfaces.Consumer; import com.sample.functional.interfaces.Task; public class Application { private static void processInfo(Consumer<Task> consumer, Task task) { consumer.accept(task); } public static void main(String[] args) { Task task = new Task() { @Override public void run() { System.out.println("Executing the task"); } }; processInfo((myTask) -> { myTask.run(); }, task); } }
Output
Executing the task
No comments:
Post a Comment