gpt4 book ai didi

java - 将枚举转换为列表

转载 作者:行者123 更新时间:2023-12-01 22:36:22 24 4
gpt4 key购买 nike

这看起来真的很基本,但是当我们类型转换 java.util.Enumeration 时到 java.util.List就像这里:

// Enumeration getInitParameterNames()
java.util.List e2 = (List) getServletConfig().getInitParameterNames();

我们是在进行“向下转换”还是“向上转换”?

此外,这两个接口(interface)没有任何共同点(除了它们都位于 java.util 内)( public interface Enumeration<E>public interface List<E>
extends Collection<E>
)

那么为什么我们可以将它们互相转换呢?

最佳答案

你既不是“向下转换”,也不是“向上转换”(因为两者都不是对方的子类型)。

如果 getServletConfig().getInitParameterNames() 的结果是一个实现 List 的对象,您可以按照代码中所示的方式对其进行转换。否则你会得到一个ClassCastException

这两个接口(interface)是否有任何共同点并不重要。一个对象可以实现这两个接口(interface):

class InitParameterNames implements Enumeration, List {
...
}

关于java - 将枚举转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26810004/

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