Скажем, у нас есть переменная типа IntFunction, которая возвращает целочисленный массив:
IntFunction<int[]> i;
С помощью дженериков Java 8 можно инициализировать эту переменную ссылкой на конструктор следующим образом:
i = int[]::new
Как компилятор Java переводит это в байт-код?
Я знаю, что для других типов, таких как String::new, он может использовать инструкцию invokedynamic, которая указывает на конструктор String java/lang/String.<init>(...), который является всего лишь методом со специальным значением.
Как это работает с массивами, видя, что существуют специальные инструкции для построения массивов?
