相当于 Java 映射中的 C# 字典方法“TryGetValue()”

Lou*_*IDA -2 java dictionary hashmap

我正在将一个项目从 c# 迁移到 java,但 TryGetValue() 方法有问题!

这是 C# 代码:

private static void _AddBadQualityChar (Dictionary<string,List<string>> badQualityChars, string charString, string badQualityChar)
        {
            List<string>        _badQualityChars;

            if (!badQualityChars.TryGetValue (charString, out _badQualityChars))
            {
                _badQualityChars = new List<string> ();
                badQualityChars [charString] = _badQualityChars;
            }

            _badQualityChars.Add (badQualityChar);
        }
Run Code Online (Sandbox Code Playgroud)

我不知道 java 地图中 TryGetValue() 方法的等效项是什么,我所能找到的只是 get() 方法,它不返回 Boolean !我怎样才能用Java编写这个函数?

chr*_*ke- 5

不要在没有学习基础知识的情况下尝试在语言之间盲目地复制和粘贴代码。在 Java 中,不要克隆代码,而是执行以下操作:

Map<String, List<String>> badChars = new HashMap<>();
...
badChars.computeIfAbsent(key, __ -> new ArrayList<>())
  .add(badChar);
Run Code Online (Sandbox Code Playgroud)

您的用例实际上就是文档中提供的示例