Protobuf Java-不区分大小写的地图?

时间:2019-05-16 18:25:23

标签: java google-protocol-buffer protocol-buffers-3

我有一个映射,其中包含用户输入的远程计算机名称,以及用户在其中运行的程序的主机上输入的名称。不需要重复的条目,因为用户一次输入了大写字母,随后又输入了小写字母。

原型:

map<string, string> host_and_name = 1;

存储时,理想情况下,我将能够使用此方法,因为地图标记为区分大小写。但是,这不是默认行为,并且看不到以其他方式进行装饰的方法。希望我错过了一些东西。

cache.putHostAndHame( hostName, strategyName );

意识到我可以迭代所有映射值,并且只有在找不到equalsCaseInsenstive匹配项时才放置。如果需要的话,我最终会这样做,但似乎有点蛮力。

1 个答案:

答案 0 :(得分:6)

如果您需要验证并放入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());
   }
}
  • 输出
  

返回值:我的示例文字

,您也可以将其放在地图上并进行foreach循环,以检查主机或名称是否已在地图中。 check this

希望您能明白。如果下面有任何问题评论。谢谢。

Also this question have a good answers what you need to implement.