gpt4 book ai didi

Java 在映射中存储值

转载 作者:行者123 更新时间:2023-11-30 02:51:24 25 4
gpt4 key购买 nike

让 getChoice 类实现一个 LinkedHashMap。让方法addCh 实现choice.put。让一些类 choice1 和 choice2 扩展类 choice 并将元素传递给 getChoice.map。每次我将对象传递给 Map 时,它似乎都没有更新,而是以相同的名称再次创建。我需要首先将所有元素存储在 map 中,然后将它们保存到文件中。我怎样才能做到这一点?到目前为止我的代码。

public class GetChoice{

Map<String, String> choice = new LinkedHashMap<String, String>();

public void addChoice(SomeClass obj1, SomeOtherClass obj2) {

if (obj2 instanceof Choice1) {
this.choice.put(obj2.toString(), "choice1");
} else if (obj2 instanceof Choice2) {
this.choice.put(obj2.toString(), "choice2");
} else {
//sysout not found
}

System.out.println("\n" + choice);
}

编辑:我通过将 map 声明为静态来处理它,在 @dasblinkenlight 提到每次调用都会创建它之后。非常感谢大家。

最佳答案

choice 映射是 GetChoice 对象的实例字段。每次您创建新的 GetChoice 时,都会创建一个没有数据的全新 map 。

为了在调用 addChoice 时保留 map 中的数据,您需要创建一次 GetChoice 对象,然后调用 addChoice多次在同一个对象上。

关于Java 在映射中存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38541169/

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