Protobuf Java - карта без учета регистра?

У меня есть карта, которая содержит введенное пользователем имя удаленного компьютера и введенное пользователем имя на хосте для программы, выполняющейся там. Не нужно дублировать записи, потому что пользователь набрал заглавные буквы один раз, а потом ввел то же имя в нижнем регистре.

Прото:

map<string, string> host_and_name = 1;

При хранении в идеале я мог бы использовать этот метод, потому что карта помечена с учетом регистра. Не по умолчанию, хотя, и не вижу способа украсить иначе. Надеюсь, я что-то упустил.

cache.putHostAndHame( hostName, strategyName );

Сознавая, что я мог бы перебрать все значения карты и поместить их, только если я не нашел совпадения equalsCaseInsenstive. Я закончу тем, что сделаю это, если придется, кажется, немного грубой силой.

1 ответ

Решение

Если вам нужно проверить и вставить свою карту 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, чтобы проверить хост или имя уже на карте. Проверь это

Я надеюсь, вы поняли идею. если есть какие-либо вопросы, комментарий ниже. Благодарю.

Также на этот вопрос есть хорошие ответы, что нужно реализовать.

Другие вопросы по тегам