Кто-нибудь знает, будут ли закрыты в Java 7?
Каково текущее состояние закрытия Java?
Ответ 1
В Devoxx 2008, Марк Рейнхолд дал понять, что закрытие не будет включено в Java 7.
Подождите! Закрытие будет включено в Java 7. Марк Рейнхолд объявил об этом развороте в Devoxx 2009.
Скажи, что! Закрытие (лямбда-выражения) отложено до Java 8. Следуйте Project Lambda (JSR 335) для получения дополнительной информации.
Ответ 2
Неизвестно до создания Java SE 7 JSR (предположительно, Дэнни Коварда), и создается группа экспертов и выбранное содержимое.
Моя страница Java 7 - это хорошая коллекция ссылок о Java 7 в целом и содержит ссылки на все предложения по закрытию и записи в блогах:
http://tech.puredanger.com/java7#closures
И я поддерживаю блог Java 7 link, где вы можете найти ссылки на закрытие и прочее:
И вы можете найти мое сообщение в блоге Java 7 Prediction, чтобы быть интересным, если вы хотите, чтобы мои мнения: http://tech.puredanger.com/2008/08/02/java7-prediction-update/
ОБНОВЛЕНИЕ: Марк Рейнхолд заявил в Devoxx в декабре 08, что закрытие НЕ будет включено в Java 7 из-за отсутствия консенсуса относительно того, как реализовать.
Ответ 3
В настоящее время существует несколько конкурирующих предложений BGGA, CICE, среди прочих. К сожалению, жаркие споры остаются за лучшим подходом. В результате на данный момент маловероятно, что замыкания превратятся в Java 7 из-за консервативного характера процесса принятия.
Ключевая проблема заключается в том, что может быть очень сложно добавить функции на уже существующий язык без непреднамеренного введения значительной сложности. Это был опыт работы с Generics в Java 1.5, и многие обеспокоены тем, что он будет усугублен введением замыканий.
Мой совет: если вы действительно хотите иметь доступ к современным языковым функциям, таким как закрытие, но хотите остаться в Java ecosysteym, вы должны взглянуть на Scala.
Ответ 4
Groovy - лучшая альтернатива Java, которую я видел, которая включает в себя функции динамических языков, включая закрытие, расширение класса времени выполнения и т.д. Хотя Ruby имеет небольшое преимущество в дизайне imho, я должен сказать, что Groovy компилируется в байт-код Java и взаимодействует с Java без ЛЮБОГО кода интерфейса - огромный плюс, который нельзя игнорировать.
Ответ 5
Ответ 6
Закрытие не будет окончательно присутствовать в Java 7, но если вы ищете более легкое решение для закрытия в java прямо сейчас, посмотрите, как они были реализованы в библиотеке lambdaj: