我尝试创建一个通用数组,但我正在考虑标题的错误。
ByteConverter<Product> byteconverter = new ByteConverter<Product>();
//into an inner class I have to declare a final field
final ByteConverter<Product>[] byteconverter2 = {byteconverter};
所以,我在Stackoverflow上搜索了一个可能的解决方案。我在这里发现了类似的内容:Cannot create an array of LinkedLists in Java...?,因此我将代码添加到以下内容中:
final ByteConverter<Product>[] byteconverter2 = {(ByteConverter<Product>[])byteconverter};
但我仍然采取同样的错误。我不明白为什么..请帮忙吗?
答案 0 :(得分:2)
final ByteConverter<Product>[] byteconverter2 =
new ByteConverter[]
{
byteconverter
};
这很好用
答案 1 :(得分:1)
这会编译,但会发出警告
ByteConverter<Product> byteconverter = new ByteConverter<Product>();
ByteConverter<Product>[] byteconverter2 = new ByteConverter[] { byteconverter };
请在此处阅读http://docs.oracle.com/javase/tutorial/java/generics/restrictions.html有关泛型的限制