我有
out.load(output, transactions, columnHeaders, dataFormat);
其中 load
定义为:
public boolean load(String outputfile, List<Transaction> transactions, List<String> columnHeaders, String dataFormat);
和
String output = "";
String dataFormat = "";
ArrayList<ARTransaction> transactions = new ArrayList<ARTransaction>();
List<String> columnHeaders = null;
在哪里
ARTransaction implements Transaction
为什么transactions
的类型有问题?
最佳答案
public boolean load(String outputfile, List<? extends Transaction> transactions, List<String> columnHeaders, String dataFormat);
或者只是将交易声明为 List<Transaction>
.
这是为什么您显然不能这样做的常见示例:
List<String> list = new ArrayList<String>();
List<Object> objList = list; //if this were possible
objList.add(Integer.valueOf(5));
String val = list.get(0); //ClassCastException here
System.out.println(val);
关于java - 为什么实现了接口(interface)的类不能算作Java中接口(interface)的同一类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3225511/