下面是我遇到的情景
我这里有一套绳子
Set<String> attributes = new LinkedHashSet<>();
不过,我还有一个带有签名LinkedHashSet的函数。
public static List<String> rerankAttributesByType (LinkedHashSet<String> attributeList)
对我来说,只将属性转换为LinkedHashSet并继续函数调用安全吗?
List<String> newAttributes = rerankAttributesByType((LinkedHashSet<String>) unselectedAttribute)
发布于 2022-10-19 21:37:47
这在技术上是安全的,因为你知道实际的混凝土类型,但不是很好的做法。
相反,改变
public static List<String> rerankAttributesByType(LinkedHashSet<String> attributeList)至
public static List<String> rerankAttributesByType (Set<String> attributeList)因此,您不必执行强制转换,并且可以在整个程序中正确地使用接口类型。
https://stackoverflow.com/questions/74132144
复制相似问题