我有一张 map ,其中包含用户输入的远程机器名称,以及用户在主机上输入的程序名称。不想要重复的条目,因为用户输入一次大写字母,然后又输入小写字母的相同名称。
原型(prototype):
map<string, string> host_and_name = 1;
存储时,理想情况下我可以使用此方法,因为 map 已标记为区分大小写。虽然不是默认行为,但看不到其他装饰方式。希望我遗漏了什么。
cache.putHostAndHame( hostName, strategyName );
意识到我可以迭代所有映射值,并且仅在找不到 equalsCaseInsenstive 匹配项时才放置。如果必须的话,我最终会这样做,尽管看起来有点蛮力。
最佳答案
如果您需要验证并放入您的 host_and_name 映射,您可以将所有字符转换为小写,并且无论何时放置每个主机或名称,它都会将所有字符转换为小写。
喜欢下面
import java.io.*;
public class Test {
public static void main(String args[]) {
String str = "My Sample Text";
System.out.print("Return Value :");
System.out.println(str.toLowerCase());
}
}
- 输出
Return Value :my sample text
你也可以把它放在你的 map 上,然后做一个 foreach 循环来检查主机或名字已经在 map 上。 check this
希望您能理解。如果有任何问题请在下方评论。谢谢。
Also this question have a good answers what you need to implement.
关于java - Protobuf Java - 不区分大小写的 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56174568/