Вопросы по теме 'method-reference'
Что означает произвольный объект определенного типа в Java 8?
В Java 8 есть функция "Справочник по методам". Одним из таких является «Ссылка на метод экземпляра произвольного объекта определенного типа».
http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html#type
Может кто-нибудь...
12590 просмотров
schedule
19.07.2022
Как устранить AbstractMethodError из LambdaMetafactory
Я получаю AbstractMethodError от вызова метода, определенного вызовом LambdaMetafactory#metafactory() . Я не могу понять, что я делаю неправильно, чтобы вызвать это. Я просмотрел довольно много примеров использования...
1030 просмотров
schedule
28.07.2022
Целевой тип этого выражения должен быть функциональным интерфейсом.
Ниже фрагмент кода дает мне ошибку компиляции в
.filter(Book::getPrice >200)
Ошибка компиляции: целевой тип этого выражения должен быть функциональным интерфейсом.
public void skipData() {
List<Book> bookList =...
5256 просмотров
schedule
15.07.2022
Может ли Java 8 реализовать интерфейс «на лету» для ссылки на метод?
Я изучаю новые возможности Java 8.
Я играю с разными примерами и обнаружил странное поведение:
public static void main(String[] args) {
method(Test::new);
}
static class Test{
}
private static void method(Supplier<Test>...
3332 просмотров
schedule
08.02.2023
LambdaConversionException при смешивании ссылки на метод и дженериков
Код ниже компилируется нормально, но выдает исключение во время выполнения. Это ожидаемое поведение и почему?
Код:
public static void main(String[] args) {
A<Integer> a = new A<> ();
System.out.println(a.min()); //prints null...
1199 просмотров
schedule
06.04.2023
Почему «T.super.toString()» и «super::toString» используют синтетический метод доступа?
Рассмотрим следующий набор выражений:
class T {{
/*1*/ super.toString(); // direct
/*2*/ T.super.toString(); // synthetic
Supplier<?> s;
/*3*/ s = super::toString; // synthetic
/*4*/ s = T.super::toString; //...
657 просмотров
schedule
04.01.2023
Статическая ссылка (с ::) на метод, возвращающий интерфейс
У меня есть несколько предопределенных статических «процессоров», реализующих один и тот же метод, например:
default double process(double num){
Образец :
public class Test {
public static void main(String[] args) {...
1126 просмотров
schedule
15.12.2022
Ссылки методов на необработанные типы вредны?
Код ниже содержит ссылку на Enum::name (обратите внимание на отсутствие параметра типа).
public static <T extends Enum<T>> ColumnType<T, String> enumColumn(Class<T> klazz) {
return simpleColumn((row, label) ->...
786 просмотров
schedule
07.08.2022
Внешний аргумент для ссылки на метод в Java 8
Я хочу передать внешний параметр в ссылку на метод:
String prefix = "The number is :";
numbers.forEach(Main::printWithPrefix);
private static void printWithPrefix(Integer number) {
System.out.println(number);
}
Я понятия не имею, как это...
1505 просмотров
schedule
16.10.2022
Ссылки на методы, как в Java 8 в Scala
В этом классе Java:
import java.util.function.*;
public class T {
public String func(String a) {
System.out.println("There we go: " + a);
return a;
}
public static void main(String... args) {
final...
2530 просмотров
schedule
03.01.2023
Groovy-эквивалент оператора Java 8 :: (двойное двоеточие)
Что было бы эквивалентно Java 8 :: ( оператор двойного двоеточия ) в Отличный?
Я пытаюсь перевести этот пример на https://github.com/bytefish/PgBulkInsert .
Но часть сопоставления работает не так, как в Java 8:
public PersonBulkInserter()...
6067 просмотров
schedule
17.03.2023
Когда работают ссылки на методы?
Ссылки на методы не работают с нестатическими методами AFAIK. Я пытался использовать их следующим образом
Arrays.stream(new Integer[] {12,321,312}).map(Integer::toString).forEach(System.out::println);
Что привело к ошибке компиляции, как...
128 просмотров
schedule
10.09.2022
Concat Stream of String и Integer
Я изучаю Stream, и во время одного из таких практических занятий я пытался объединить 2 потока разных типов String и Integer с помощью кода ниже:
Stream<String> fruitStream = Stream.of("Apple", "Mango", "Muskmalon", "Guvava");...
483 просмотров
schedule
15.04.2023
параметры в справочнике по методу
Можно ли передать параметры, используя ссылку на метод? Например, мне нужно создать TreeMap , но используя reverseOrder() . Существует ли что-то вроде TreeMap::new(reverseOrder()) ?
5216 просмотров
schedule
08.05.2024
Краткий способ составления ссылок на методы Java?
Учитывая некоторые функции метода Java 8:
class Foo { Bar getBar() {} }
class Bar { Baz getBaz() {} }
Композиция из двух аксессоров выглядит так:
Function<Foo, Bar> getBarFromFoo = Foo::getBar;
Function<Bar, Baz> getBazFromBar...
630 просмотров
schedule
07.12.2022
Java 8 - как объявить ссылку на метод для несвязанного нестатического метода, который возвращает void
Вот простой класс, иллюстрирующий мою проблему:
package com.example;
import java.util.function.*;
public class App {
public static void main(String[] args) {
App a1 = new App();
BiFunction<App, Long, Long> f1 =...
395 просмотров
schedule
19.09.2022
Почему вывод типов не работает одинаково для лямбда-выражений и ссылок на методы в Java?
Код не должен компилироваться, но компилируется!
public class MyClass {
...........
private void setEndDateOfValidStatusToCurrentTime(List<LifecycleStatus> oldStatuses, Date currentTime)
{
oldStatuses.stream()...
56 просмотров
schedule
28.10.2022
Как я могу подавить ссылку на метод rawType?
У меня метод выглядит так.
public <E extends Enum<E> & Some> void setOther(final E some) {
setOther(ofNullable(some).map(e -> e.name()).orElse(null);
}
Теперь IntelliJ предлагает использовать ссылку на метод для части...
191 просмотров
schedule
21.08.2022
Приведение ссылки Java к методу, возвращающему значение, в один возвращающий `void`
Правила приведения JLS кажутся довольно запутанными в этом отношении: правильно ли приводить ссылку на метод, возвращающий некоторое значение, к ссылке, принимающей те же типы аргументов, но возвращающей void ? Я думаю , что это нормально, потому...
268 просмотров
schedule
02.11.2022
В ссылках на методы конструктора разница между использованием параметров универсального типа и нет?
Я читаю «Эффективную Java 3» и заметил этот код в статье 43: «Предпочитайте ссылки на методы вместо лямбда-выражений»:
TreeMap<K,V>::new
Обратите внимание на параметры типа. Я всегда просто делал:
TreeMap::new
Я использую...
679 просмотров
schedule
26.07.2022