gpt4 book ai didi

java - 我可以有 LinkedHashSet 的 LinkedHashSet 吗?

转载 作者:行者123 更新时间:2023-12-02 06:08:49 26 4
gpt4 key购买 nike

我有很多不同类型的对象的LinkedHashSets要从一个java类传递到另一个类,我是否将它们打包到一个更大的对象中(如果可能的话,另一个链接哈希集)或者我只是将它们传递到正常的对象中方式作为参数?

最佳答案

两者都有可能。

如果您打包 LinkedHashSet进入另一个LinkedHashSet您可能会丢失类型信息,如 LinkedHashSet<LinkedHashSet<?>>是收集各种LinkedHashSet的唯一途径位于一处。您还可以查看HashMap通常,您会在某个时候尝试访问特定的子 LinkedHashSet ;使用映射,通过在公共(public)类或接口(interface)中定义常量查找键可以轻松实现这一点。

如果总是有相同的LinkedHashSet在类、参数或参数对象之间传递通常是更好的解决方案,因为它们提供类型信息。参数对象的类可能如下所示

public class Parameters {
private LinkedHashSet<String> namesSet = null;
private LinkedHashSet<Locale> localesSet = null;

public Parameters(LinkedHashSet<String> namesSet, LinkedHashSet<Locale> localesSet) {
this.namesSet = namesSet;
this.localesSet = localesSet;
}

public Parameters() {
}

public LinkedHashSet<String> getNamesSet() {
return namesSet;
}

public void setNamesSet(LinkedHashSet<String> namesSet) {
this.namesSet = namesSet;
}

public LinkedHashSet<Locale> getLocalesSet() {
return localesSet;
}

public void setLocalesSet(LinkedHashSet<Locale> localesSet) {
this.localesSet = localesSet;
}
}

参数对象的优点是它们使方法签名保持简短并且可以传递;通过并发线程更改此类对象时请务必小心;-)。

关于java - 我可以有 LinkedHashSet 的 LinkedHashSet 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22054630/

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