Лучший способ выполнить простой обратный вызов

#java #php #closures

#java #php #замыкания

Вопрос:

Я сомневаюсь в том, как работает Java. Мне нужно создать подобный код (на PHP):

 array_map(function($object){ ... });
  

И на Java я близок к этому:

 this.addTransition(new CallerTransition() {
    @Override
    protected void execute() {
        // Do something with _this_ here
    }
});
  

Перевод: Мне нужно знать, существует ли лучший способ работы с подобными замыканиями.

Примечания: CallerTransition имеет подтип Transition . Для addTransition требуется Transition . execute Метод будет выполнен addTransition .

Ответ №1:

В Java нет лямбда-функций или замыканий на основе функций, поэтому, боюсь, анонимные классы — лучший способ.

Комментарии:

1. Вы имеете в виду, тем же способом, что и я?

2. Лямбда-выражения в настоящее время запланированы для Java 8 как JSR 335 на JSR 337 — openjdk.java.net/projects/lambda

3. не повезло, вам придется использовать анонимные классы.