Недавно я смотрел учебник http://winterbe.com/posts/2015/04/07/java8-concurrency-tutorial-thread-executor-examples/, и он использует следующий синтаксис.Синтаксис Java "... =() -> {...}"
Runnable task =() -> {
String threadName = Thread.currentThread().getName();
System.out.println("Hello " + threadName);
};
task.run();
Thread thread = new Thread(task);
thread.start();
System.out.println("Done!");
я вычитаются, что вместо того, чтобы использовать «... = ->() {...}», который я полностью не понимаю (не нашли какой-либо документации, связанной с этим синтаксисом) я мог бы создать класс следующим образом:
public class IAmRunnable1 implements Runnable {
@Override
public void run() {
String threadName = Thread.currentThread().getName();
System.out.println("Hello " + threadName);
}
}
И использовать этот класс в своем коде, как показано ниже:
//ref:http://winterbe.com/posts/2015/04/07/java8-concurrency-tutorial-thread-executor-examples/
public class ExecutorRunnableExample {
public static void main(String[] args) {
Runnable task = new IAmRunnable1();
task.run();
Thread thread = new Thread(task);
thread.start();
System.out.println("Done!");
}
}
Может кто-то направить меня к документации, связанной с этим синтаксисом или дать мне соответствующее объяснение.
Спасибо!
Поиск лямбда-выражений (введен в Java 8) – Eran
Я действительно думаю, что Java8 уничтожил стандарты программирования. – Hackerdarshi