gpt4 book ai didi

java - 如何区分JAVA中以减号开头的字符串?前 : "buy" and "-buy"

转载 作者:行者123 更新时间:2023-12-01 11:13:12 24 4
gpt4 key购买 nike

我对 JAVA 比较陌生。我正在实现一个涉及多重 map 的想法。现在我想把“buy”和“-buy”作为关键。我的问题是,如何区分原始字符串(字符)相同但它们具有相反的前导符号???

最佳答案

我认为您可能误用了多重映射的概念。我从你的问题中收集到你想要查找一个键并让它返回两个键的值(在它们之前有和没有“-”)。多重映射不支持多个键(据我所知,无论如何)。它们支持每个键有多个值。

您有多种选择:

  1. 不要在 key 中编码“相反”语义。而是使用字符串和用于标记相反的 boolean 字段创建一个新类,并使用该类作为键。

    公共(public)类操作{ 字符串 getName(); boolean isOpposite();}

    map > map ;

  2. 根本不要在数据结构中包含相反的逻辑。而是根据用法解析 key 。换句话说,您需要将“buy”和“-buy”都设为 get 作为键,然后在代码中弄清楚如何处理每个键。

  3. Map 设置为两个级别,第二个级别表示值是否相反:

    Map<String,Map<Boolean,List<Value>>> map;

    map.get("buy").get(true)...

在我看来,第一个选项绝对是最好的。与值关联的文本应该只是 key 的一个属性 - 如果您最终必须添加其他属性,那么您最终将在 key 中编码一堆逻辑。

关于java - 如何区分JAVA中以减号开头的字符串?前 : "buy" and "-buy",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32131158/

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