《你知道的JavaScript》——混合对象类
2021-05-03 07:26
标签:ext rate class style tar shm 不能 类型 作用 我今天的问题是关于这三个功能:public void generateCalendarEvents(final String id,final MapString,String> params);
public void generateCalendarEvents(Object object,final String id,final MapString,String> params);
public void generateCalendarEvents(List
根据上下文调用它们,例如:
generateCalendarEvents(someString,params); // params is a Map
generateCalendarEvents(this,someString,params);
generateCalendarEvents(this.getDataList(),params); // getDataList return a list of objects implementing the "Identifiable" interface
2个开头的效果很好,但是我从第三个标题中得到了一个编译错误:
类型为AbstractController的generateCalendarEvents(String,Map)方法不适用于该参数
(列表,空)
我不明白为什么编译器无法将此调用与第三个函数相匹配...以及为什么当至少有人认为它可能会使List和Object混淆时才与第一个函数相混淆。
这可能是基本的,但我在这里看不到解决方案。
这里有什么主意吗?
提前致谢。
PS:显然,在这里,我可以简单地给这三种方法起一个不同的名字。我只是想对多态性进行更深入的研究。
最佳答案
真可惜.....问题不在于多态性。
但通常,明确指出的问题有助于找到解决方案。
所以问题出在我发送List 的方式上:我假设返回List的getDataList()方法将被转换为List 。
而且不是...所以解决问题的方法是:
List rdvs = new ArrayList();
rdvs.addAll(this.getDataList());
generateCalendarEvents(rdvs,new HashMapString,String>());
这里的任何评论都是值得欢迎的...因为即使我设法使它起作用,但我也不完全确定为什么我不能采用以前的方法。
[人物存档]【HoneySelect2】【捏脸数据】人物鉴赏
《你知道的JavaScript》——混合对象类
标签:ext rate class style tar shm 不能 类型 作用
原文地址:https://www.cnblogs.com/worldover/p/13199419.html
文章标题:《你知道的JavaScript》——混合对象类
文章链接:http://soscw.com/index.php/essay/81690.html