Каков функциональный интерфейс Java 8 для метода, который ничего не берет и ничего не возвращает?
То есть, эквивалент C # без параметров Action
с void
возвращаемым типом?
java
java-8
java-stream
Мигель Гамбоа
источник
источник
Runnable
Спецификация интерфейса указывает, что он должен предоставитьThread
классу исполняемый код . Мне кажется неправильным использоватьRunnable
его там, где он не предназначен для выполнения потоком; кажется вводящим в заблуждение.Runnable
определяется как a,FunctionalInterface
потому что он соответствует спецификации функционального интерфейса и может быть создан с использованием синтаксиса лямбда. Почему бы не создать свой собственный функциональный интерфейс? см. Runnable , см. FunctionalInterfaceRunnable
аннотируется@FunctionalInterface
и (ii) даже в контексте лямбда-выражения он будет выполняться в потоке: потоке, в котором выполняется лямбда, который может быть текущим потоком ...Runnable
он предназначен для использования для этой цели, а не только для контекстов потоковой передачи.Просто сделай свой собственный
и используйте это так
и выход
источник
@FunctionalInterface допускает только абстрактный метод метода Следовательно, вы можете создать экземпляр этого интерфейса с помощью лямбда-выражения, как показано ниже, и вы можете получить доступ к членам интерфейса
источник