Вопросы по теме 'method-reference'
Недопустимая ссылка на метод для перегруженного метода с разными значениями
При попытке скомпилировать выражение Comparator.comparing(String::toLowerCase) компилятор Java возвращает ошибку. См. следующий вопрос для получения дополнительной информации:
Почему Comparator.comparing не работает с методом...
2702 просмотров
schedule
30.07.2022
Ограничения ссылок на статические методы в Java 8
Я пытаюсь использовать ссылки на методы для захвата вызовов методов и сталкиваюсь с некоторыми ограничениями. Это отлично работает:
<T> void capture(Function<T, ?> in) {
}
private interface Foo {
String getBar();
}...
3519 просмотров
schedule
14.02.2023
Справочник по методу экземпляра и параметры Lambda
У меня возникли проблемы с пониманием синтаксиса для ссылки на метод, где есть два параметра a и b , а ссылка относится к методу a на b .
Например, я понимаю, как
Arrays.sort(personArray, comparators::compareByName);
эквивалентно...
688 просмотров
schedule
26.05.2024
Почему лямбда-выражения в Java 8 требуют, чтобы переменные, используемые внутри него, использовали модификатор final, но не при использовании ссылки на метод?
Рассмотрим следующий класс:
class Foo<T> {
void handle(T t) {
System.out.println("handling " + t);
}
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();...
1607 просмотров
schedule
16.06.2023
Utility Class для начальной загрузки лямбда-выражений или ссылок на методы для цепочки методов?
Благодаря функциональным интерфейсам, представленным в Java 8, вы можете легко связать различные выражения в одно новое выражение, как показано в фрагменте кода ниже.
public class PredicateChaining {
public static void main(String[] args) {...
357 просмотров
schedule
04.12.2023
Каково использование ссылки на конструктор в Java 8
Я читал о функциях Java 8, которые привели меня к этому article , и мне было интересно узнать о фактическом использовании ссылки на конструктор, я имею в виду, почему бы просто не использовать new Obj ?
P.S. пробовал гуглить, но ничего толкового...
329 просмотров
schedule
24.07.2022
Как получить информацию о методе FunctionalInterface в java 8 lambda
Я хочу проверить, равны ли два лямбда-метода; Например:
public class App {
@FunctionalInterface
public interface TestFunctionInterface {
void get();
}
public static void main(String[] args) throws Throwable {...
104 просмотров
schedule
07.08.2023
Имеет ли ссылка на метод в Java 8 конкретный тип, и если да, то какой?
Этот вопрос довольно тесно связан с другим . Однако мне кажется, что принятый ответ на этот вопрос не столь однозначен.
Итак, какой является тип ссылки на метод в Java 8? Вот небольшая демонстрация того, как ссылка на метод может быть...
2250 просмотров
schedule
18.08.2022
Как разрешить неправильные параметры из LambdaMetafactory
Я пытаюсь выполнить аннотированный метод в основном методе в App.java с помощью LambdaMetafactory.metafactory() . Код можно найти здесь: код на github
Если я попытаюсь выполнить этот код, он выдаст исключение:
Incorrect number of...
614 просмотров
schedule
25.02.2023
Ссылка на метод в Java 8
public class Car {
private int maxSpeed;
public Car(int maxSpeed) {
this.maxSpeed = maxSpeed;
}
public int getMaxSpeed() {
return maxSpeed;
}
}
Мы можем отсортировать список автомобилей по,
Car carX...
4342 просмотров
schedule
16.11.2023
Использование ссылок на методы для экземпляра, определяемого во время выполнения в Java
Я тестировал правила использования ссылок на методы, но написанный мной код не компилировался. Компилятор постоянно сообщает мне, что я не могу ссылаться на нестатический метод из статического контекста. Однако в документах Java прямо написано, что...
589 просмотров
schedule
28.10.2023
Являются ли ссылки на методы потокобезопасными параметрами метода в Java
у меня следующий сценарий:
interface ValueBinding<T> {
public void setValue(T input);
}
public enum FacesBinding {
VALUE;
public void bindString(ValueBinding<String> fcn, HttpServletRequest req, String param){
try...
483 просмотров
schedule
19.05.2024
Целевой тип этого выражения должен быть функциональным интерфейсом в MethodReferences.
Почему следующий код не компилируется.
Consumer con = (s) -> System.out::println;
Это говорит
Целевой тип этого выражения должен быть функциональным интерфейсом.
хотя Consumer является функциональным интерфейсом. Ниже работает...
46888 просмотров
schedule
17.11.2022
Разрешение перегрузки со ссылками на методы и специализациями интерфейса функций для примитивных типов
Допустим, у нас есть класс и перегруженная функция:
public class Main {
static final class A {
}
public static String g(ToIntFunction<? extends A> f) {
return null;
}
public static String g(ToDoubleFunction<?...
192 просмотров
schedule
09.01.2023
Нулевая ссылка в ссылке на функцию Java 8, но не в лямбда-абстракции
Недавно я столкнулся с еще одним NullPointerException в Java. Мне потребовалось довольно много времени, чтобы понять это, но в конце концов я нашел проблему.
Вот в чем дело: это ссылка на метод Java 8, которая вызывает исключение .
Когда я...
36 просмотров
schedule
17.12.2022
Справочник по методу — передача функции в метод с аргументом-потребителем
Я изучаю ссылки на методы из Java 8, и мне трудно понять, почему это работает?
class Holder {
private String holded;
public Holder(String holded) {
this.holded = holded;
}
public String getHolded() {
return...
312 просмотров
schedule
13.11.2023
Kotlin ссылка на член, чтобы вернуть сам объект
Есть ли способ написать ссылку на член/метод, чтобы вернуть сам объект в Котлине? То есть он может упростить и заменить следующую лямбду:
{ it }
86 просмотров
schedule
15.01.2024
Компилятор Java: как два метода с одинаковыми именами и разными сигнатурами могут соответствовать вызову метода?
У меня есть этот класс под названием Container :
public class Container {
private final Map<String, Object> map = new HashMap<>();
public void put(String name, Object value) {
map.put(name, value);
}
public...
460 просмотров
schedule
13.08.2023
Как превратить список‹Элемент› в карту‹Элемент, Completeablefuture‹xyz››
У меня есть асинхронный метод с полным будущим результатом:
public CompletableFuture<DogLater> asyncDogLater(String dogName){}
У меня есть список собак:
List<Dog> dogs;
Теперь я хочу создать карту от имени собаки до...
108 просмотров
schedule
08.06.2023
Как преобразовать справочный код метода Java в Kotlin
У меня есть этот код на Java:
mViewModel.getSetupData().observe(this, this::updateTime);
Метод updateTime принимает один параметр. При преобразовании этого кода в Kotlin не работает следующее:
mViewModel?.getSetupData()?.observe(this,...
482 просмотров
schedule
28.04.2023