java - Protobuf Java - 不区分大小写的 map ?

标签 java protocol-buffers protocol-buffers-3

我有一张 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/

相关文章:

java - 从 mongodb 获取除一两个之外的一些属性

java - 通过引用其他存储库或项目或 jar 文件中的其他 protobuf 消息,分层组合 Protocol buffers (protobuf) 定义

android - 协议(protocol)设计

java - 自定义 protobuf CodeGenerator 的问题

java - Protocol Buffer ,序列化数据中有什么?

java - ProviderTestCase 子类的 setUp() 方法中的 NPE

java - Restful Spring postForObject 缺少所有属性值

java - 是否使用静态方法?

.net - protobuf-net 的替代方案 - 使用对象图的大小和时间高效的序列化程序

protocol-buffers - 如何在 protobuf 3 中定义可选字段