G
enby!

Java version 9. Динамічний виклик API. MethodHandles. Частина 4.

MethodType - клас, який представляє аргументи та тип повернення, що приймаються та повертаються дескриптором методу, або аргументи та тип повернення, що передаються та очікуються викликом дескриптора методу. MethodType - клас, який є дескриптором методу. Тобто типізованим, безпосередньо виконуваним посиланням на базовий метод, конструктор, поле або подібну низькорівневу операцію з додатковими перетвореннями аргументів або повернених значень. Lookup - клас, який є фабрикою для створення дескрипторів методів. loop - метод, який повертає дескриптор методу, що представляє цикл з кількома змінними циклу, що оновлюються та перевіряються на кожній ітерації. Після завершення циклу через один із предикатів виконується відповідний фіналізатор, який повертає результат циклу, тобто значення, що повертається результуючим дескриптором. whileLoop - метод, який повертає дескриптор методу, що представляє цикл while з ініціалізатора, тіла та предиката. Дескриптор pred описує умову циклу; а body – її тіло. Цикл, що виникає в результаті цього методу, на кожній ітерації спочатку оцінюватиме предикат, а потім виконуватиме його тіло (якщо предикат має значення true). Цикл завершиться, як тільки предикат матиме значення false (тіло в цьому випадку не буде виконано). doWhileLoop - метод, який повертає дескриптор методу, що представляє цикл do-while з ініціалізатора, тіла та предиката. Дескриптор pred описує умову циклу; а body – її тіло. Цикл, що виникає в результаті цього методу, на кожній ітерації спочатку виконуватиме своє тіло, а потім обчислюватиме предикат. Цикл завершиться, як тільки предикат отримає значення false після виконання тіла. countedLoop - метод, який повертає дескриптор методу, що представляє цикл, який рахує в діапазоні чисел. Лічильник циклів i — це змінна ітерації циклу цілочисельного типу. Початковий та кінцевий маркери визначають початкове (включно) та кінцеве (виключно) значення лічильника циклу. Лічильник циклу буде ініціалізовано цілочисельним значенням, повернутим з обчислення початкового маркера, та виконуватиметься до значення, повернутого з кінця (виключно) з шириною кроку 1. iteratedLoop - метод, який повертає дескриптор методу, що представляє цикл, який охоплює значення, отримані Iterator(T). Сам ітератор буде визначатися обчисленням дескриптора ітератора. Кожне значення, яке він генерує, буде збережено в змінній ітерації циклу типу T. Змінна ініціалізується за допомогою додаткового дескриптора init. #освіта #java #programming #advancedjava

Смотрите также