Назад к вопросам
Middle
70
questionbank

Для чего используются функциональные интерфейсы ToDoubleFunction<T>, ToIntFunction<T> и ToLongFunction<T> в Java?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Эти интерфейсы из пакета java.util.function используются для преобразования объекта типа T в примитивный тип:

  • ToDoubleFunction<T>: Преобразует объект типа T в double.
  • ToIntFunction<T>: Преобразует объект типа T в int.
  • ToLongFunction<T>: Преобразует объект типа T в long.

Основное назначение - использование в Stream API, коллекциях и других контекстах, где необходимо произвести вычисление или извлечь примитивное числовое значение из объектов.

Пример использования с Stream API:

import java.util.Arrays;
import java.util.List;
import java.util.function.ToDoubleFunction;

public class Example {
    public static void main(String[] args) {
        List<String> words = Arrays.asList("apple", "banana", "cherry");

        // ToDoubleFunction для определения длины строки в виде double
        ToDoubleFunction<String> lengthAsDouble = s -> (double) s.length();

        double averageLength = words.stream()
                                    .mapToDouble(lengthAsDouble)
                                    .average()
                                    .orElse(0.0);

        System.out.println(averageLength);
    }
}