Проверьте пожалуйста, правильно ли я вообще делаю. Если что-то не так пожалуйста скажите.
1)Написать функциональный интерфейс с методом, который принимает число и возвращает булево значение. Написать реализацию такого интерфейса в виде лямбда-выражения, которое возвращает true если переданное число делится без остатка на 13.
Мое решение:
@FunctionalInterface
public interface BooleanInterface {
boolean calculate(int number);
}
public class Task1Lambda {
public static void main(String[] args) {
BooleanInterface r = number -> number % 13 == 0;
boolean var = r.calculate(39);
System.out.println(var);
}
}
2)Написать функциональный интерфейс с методом, который принимает две строки и возвращает тоже строку. Написать реализацию такого интерфейса в виде лямбды, которая возвращает ту строку, которая длиннее.
Мое решение:
@FunctionalInterface
public interface StringInterface {
String concatenateStrings(String s1, String s2);
}
public class Task2Lambda {
public static void main(String[] args) {
StringInterface obj = (String s1, String s2) -> {
if (s1.length() > s2.length())
return s1;
else
return s2;
};
String result = obj.concatenateStrings("Collaboration", "corporation");
System.out.println(result);
}
}