java – 这两组语句之间的确切区别是什么?
Set<Type> union = new HashSet<Type>(s1); 和 Set<Type> union = new HashSet<Type>(); Set<Type> s1 = new HashSet<Type>(); union.addAll(s1); 解决方法
假设Set s1在第一个和第二个例子中包含相同的内容,最终结果应该是相同的.
(但是,第二个示例不会编译,因为Set是一个接口而不是具体的类.) 使用
但是,使用
因此,在性能和效率方面,使用 但是,从代码的可读性的角度来看,变量名称union似乎暗示新创建的Set是另一个Set的并集,因此使用addAll方法的那个可能是更容易理解的代码. 如果想法只是从现有的Set创建一个新的Set,那么新创建的Set应该以不同的名称命名,例如newSet,copyOfS1或其他类似的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |