Func
семья делегатов (и их return-type-less кузены, Action
) не так больше, чем ничто больше, что Вы нашли бы в платформе.NET. Они просто там для повторного использования, таким образом, Вы не должны переопределять их. У них есть параметры типа для хранения вещей универсальными. Например, Func< T0, bool> совпадает с Системой. Predicate< T> делегат. Они были первоначально разработаны для LINQ.
необходимо быть в состоянии просто использовать встроенное Func
делегат к любому возвращающему значение методу, который принимает до 4 аргументов вместо того, чтобы определить собственного делегата к такой цели, если Вы не хотите, чтобы имя отразило Ваше намерение, которое прохладно.
Случаи, где необходимо было бы абсолютно определить типы делегата, включают методы, которые принимают больше чем 4 аргумента, методы с , касательно , или параметрические усилители параметры или рекурсивные сигнатуры методов (например, delegate Foo Foo(Foo f)
).
IDEA - гораздо лучшая среда разработки, чем Eclipse (общее мнение людей, использующих IDEA).
С точки зрения функций, все, что IDEA CE, также может быть выполнено Eclipse. Однако, IDEA - это коммерческий продукт, что ограничивает его распространение. Благодаря Community Edition вы можете бесплатно протестировать эту среду IDE для разработки приложений JavaSE (или Scala или Groovy). Для предприятия это весьма ограничено, так как вы не сможете разрабатывать приложения J2EE.
Я пришел к выводу, что IDEA CE - это всего лишь инструмент, который позволяет вам протестировать и понять философию этой IDE. Если вас убедила IDEA, вам действительно придется выбирать между Ultimate Edition, которая позволит разрабатывать любые приложения, или остаться с Eclipse.
Лучший и прямой ответ на этот вопрос - взглянуть на матрицу функций , в которой функции все еще остались в Ultimate-Edition. Eclipse, вероятно, поддерживает все эти вещи, хотя качество интеграции всегда может быть проблемой.