31
假設我們有一個返回一個整數陣列IntFunction
類型的變量:Java 8數組構造函數的引用是如何工作的?
i = int[]::new
如何:
IntFunction<int[]> i;
在Java 8個泛型,有可能用一個構造參考這樣初始化此可變Java編譯器是否將其轉換爲字節碼?
我知道對於其他類型,如String::new
,它可以使用invokedynamic
指令指向字符串構造函數java/lang/String.<init>(...)
,這只是一個具有特殊含義的方法。
這是如何與數組工作,看到有特殊的指令來構造數組?
在Java中,這些被稱爲引用,而不是指針。一般而言,引用幾乎可以提供指針的所有操作,但不能將任意偏移量添加到引用或對其執行其他類型的數學運算。 – 2015-04-04 15:15:10