0

我尝试创建一个通用数组,但我得到了标题的错误。

 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};

但我仍然犯同样的错误。我不明白为什么..有什么帮助吗?

4

2 回答 2

2
final ByteConverter<Product>[] byteconverter2 = 
   new ByteConverter[]
   {
      byteconverter   
   };

这很好用

于 2012-12-12T15:07:25.907 回答
1

这编译,虽然有一个警告

    ByteConverter<Product> byteconverter = new ByteConverter<Product>();
    ByteConverter<Product>[] byteconverter2 = new ByteConverter[] { byteconverter };

在这里阅读http://docs.oracle.com/javase/tutorial/java/generics/restrictions.html关于泛型的限制

于 2012-12-12T15:18:16.160 回答