我正在从返回 Set 对象的 api 调用一个方法。据我所知,Set是一个接口(interface),并且你不能实例化接口(interface)。我可以获取这个集合并对其调用 toArray() 。那么 Set 实际上返回什么?
最佳答案
它确实返回一个Set
,但您必须明白,Set
不仅仅是接口(interface):
可以返回实现 Set
的每个类的每个实现。
public Set getMySet(){
return new HashSet();
}
由于 HashSet
实现了 Set
,因此这是有效的代码。
将应用程序编写到接口(interface)而不是其实现是一种广泛使用的做法。毕竟,您需要编写(和测试)代码(例如使用服务的 UI)的就是接口(interface)。
您还无法获得具体的实现,它们甚至可能还不存在,但您已经可以完成您需要做的所有工作。
关于java - java中的方法如何返回Set?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36334056/