Как стать автором
Обновить

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

Я всегда за статьи для начинающих разработчиков. Некоторые концепции с трудом лезут в голову — и чем больше статей (различных изложений), тем лучше. Поэтому автору — спасибо.
Но очень смутило название — сколько можно начинать работать с лямбдами и рассказывать о «новых» фичах Java 8? Им сто лет в обед.
В статье не идет речь о том, что лямбда-выражения «новые», а о том, что начинающие разработчики могут быть просто не знакомы с ними совсем, и я надеюсь, что эта статья поможет разобраться и начать использовать лямбда.
interface MyGeneric {
	T compute(T t);
}

Не скомпилится.
interface MyGeneric<T>

Так лучше.
спасибо, исправил
Что-то я не пойму:
MyGeneric<Integer> factorial = (Integer i) -> {
		int result = 1;
		int n = 5;
		
		for(int i=1; i <= n; i++)
			result = i * result;
		
		return result;
	};



Это вообще не скомпилируется, т.к. переменная i объявляется дважды. И даже если решить проблему с именами, метод будет всегда возвращать 120, независимо от того, что будет на входе, т.к. объявляется int n = 5;.
Будет работать, если сделать как-то так:
 MyGeneric<Integer> factorial = (Integer n) -> {
            int result = 1;
            for(int i=1; i <= n; i++)
                result = i * result;
            return result;
        };
да, похоже я очень не внимателен, спасибо, исправил
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории