Почему в ссылке на метод универсального класса возникает ошибка компиляции? [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему в ссылке на метод универсального класса возникает ошибка компиляции? [дубликат]

Сообщение Anonymous »

Почему functionDemo3.test выдаст ошибку компиляции, то есть "несовместимые типы: java.lang.Object невозможно преобразовать в java.lang.String"? А functionDemo.test и functionDemo2.test этого не делают.
import java.util.function.Function;

public class FunctionTemplateDemo {

public Object sayHello(String name) {
return "hello " + name;
}

public static void main(String[] args) {
FunctionTemplateDemo functionDemo = new FunctionTemplateDemo();
functionDemo.test(functionDemo::sayHello);

FunctionTemplateDemo functionDemo2 = new FunctionTemplateDemo();
functionDemo2.test(functionDemo::sayHello);

FunctionTemplateDemo functionDemo3 = new FunctionTemplateDemo();
functionDemo3.test(functionDemo::sayHello);
}

private void test(Function function) {
Object hello = function.apply("hello");
System.out.println("say: " + hello);
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... -reference
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»