Sobes.tech
Middle
143

Java-да Function<T, R>, DoubleFunction<R>, IntFunction<R> және LongFunction<R> сияқты функционалды интерфейстер не үшін пайдаланылады?

AI-дан жауап

sobes.tech AI

Бұл интерфейстер бір аргумент қабылдайтын және нәтиже қайтаратын операцияларды көрсету үшін пайдаланылады.

  • Function<T, R>: T типіндегі аргументтерді қабылдайтын және R типіндегі нәтижені қайтаратын функцияны білдіреді.

    // Function<String, Integer> қолданудың мысалы
    Function<String, Integer> stringLength = s -> s.length();
    int length = stringLength.apply("Hello"); // Нәтиже: 5
    
  • DoubleFunction<R>: double типіндегі аргументті қабылдайтын және R типіндегі нәтижені қайтаратын функцияны білдіреді.

    // DoubleFunction<String> қолданудың мысалы
    DoubleFunction<String> numberToString = d -> "Сан: " + d;
    String text = numberToString.apply(3.14); // Нәтиже: "Сан: 3.14"
    
  • IntFunction<R>: int типіндегі аргументті қабылдайтын және R типіндегі нәтижені қайтаратын функцияны білдіреді.

    // IntFunction<List<Integer>> қолданудың мысалы
    IntFunction<List<Integer>> createList = size -> {
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < size; i++) {
            list.add(i);
        }
        return list;
    };
    List<Integer> numbers = createList.apply(5); // Нәтиже: [0, 1, 2, 3, 4]
    
  • LongFunction<R>: long типіндегі аргументті қабылдайтын және R типіндегі нәтижені қайтаратын функцияны білдіреді.

    // LongFunction<Date> қолданудың мысалы
    LongFunction<Date> timestampToDate = timestamp -> new Date(timestamp);
    Date date = timestampToDate.apply(System.currentTimeMillis()); // Нәтиже: ағымдағы дата
    

Бұл арнайы интерфейстер (DoubleFunction, IntFunction, LongFunction) примитивті типтермен жұмыс жасағанда автоқаптау (autoboxing) болдырмау үшін пайдаланылады, бұл өнімділікті жақсартуы мүмкін.