gpt4 book ai didi

java - 为什么实现了接口(interface)的类不能算作Java中接口(interface)的同一类型?

转载 作者:搜寻专家 更新时间:2023-11-01 01:05:42 26 4
gpt4 key购买 nike

我有

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com