new Triple.of(...)
может быть правильным синтаксисом Java.
Вы пытались передать MyClass::minusOne
как Object
и, поскольку это не функциональный интерфейс, вы получили ошибку компиляции.
Убедитесь, что у вас нет необработанных типов:
ImmutableTriple t = new ImmutableTriple("str1", "str2", MyClass::minusOne);
HashMap m = new HashMap();
Правильные параметры будут указывать полный список параметров типа:
Triple<String, String, Function<String, String>> t1 =
Triple.<String, String, Function<String, String>>of("str1", "str2", MyClass::minusOne);
Triple<String, String, Function<String, String>> t2 =
new ImmutableTriple<String, String, Function<String, String>>("str1", "str2", MyClass::minusOne);
или использование <>
для автоматического разрешения:
Triple<String, String, Function<String, String>> t1 =
Triple.of("str1", "str2", MyClass::minusOne);
Triple<String, String, Function<String, String>> t2 =
new ImmutableTriple<>("str1", "str2", MyClass::minusOne);