@Spence問這個Previous Question。對於Java中的不同類型,泛型類的靜態成員是否有所不同?
那麼,在Java中的工作如何?泛型類型在運行時會被拋棄,所以使用不同的泛型類型實例化類的靜態變量會發生什麼?
@Spence問這個Previous Question。對於Java中的不同類型,泛型類的靜態成員是否有所不同?
那麼,在Java中的工作如何?泛型類型在運行時會被拋棄,所以使用不同的泛型類型實例化類的靜態變量會發生什麼?
Java中的靜態成員不能從包含它們的類中獲得泛型類型參數。
public class Gen<T> {
public static T foo; // compiler error
}
靜態變量由該類型的所有實例共享,即使是不同的類型參數。
從generics tutorial,第14頁:
作爲結果,類的靜態變量 和方法也在所有的實例共享 。這就是爲什麼 靜態方法或初始值設定項或 聲明或初始值爲 靜態變量的類型聲明的類型 參數是非法的。