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) болдырмау үшін пайдаланылады, бұл өнімділікті жақсартуы мүмкін.