相当于 Java 映射中的 C# 字典方法 "TryGetValue()"
equivalent of C# dictionary method "TryGetValue()" in Java map
我正在将一个项目从 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);
}
我不知道 java 映射中 TryGetValue() 方法的等价物是什么,我能找到的只是 get() 方法,它不是 return 布尔值!如何在 Java 中编写此函数?
对于 Java 映射,等效的方法调用将是 Map.containsKey(key),如下所示:
https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#containsKey-java.lang.Object-
在没有学习至少基础知识的情况下,不要尝试盲目地在不同语言之间复制和粘贴代码。在 Java 中,不要克隆您的代码,而是这样做:
Map<String, List<String>> badChars = new HashMap<>();
...
badChars.computeIfAbsent(key, __ -> new ArrayList<>())
.add(badChar);
我正在将一个项目从 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);
}
我不知道 java 映射中 TryGetValue() 方法的等价物是什么,我能找到的只是 get() 方法,它不是 return 布尔值!如何在 Java 中编写此函数?
对于 Java 映射,等效的方法调用将是 Map.containsKey(key),如下所示: https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#containsKey-java.lang.Object-
在没有学习至少基础知识的情况下,不要尝试盲目地在不同语言之间复制和粘贴代码。在 Java 中,不要克隆您的代码,而是这样做:
Map<String, List<String>> badChars = new HashMap<>();
...
badChars.computeIfAbsent(key, __ -> new ArrayList<>())
.add(badChar);