получите строковое значение от HashMap в зависимости от ключевого имени

Прототипы функции были самым очевидным изменением между K& R C и C89, но было много других. Большая важная работа вошла в стандартизацию библиотеки C, также. Даже при том, что стандартная библиотека для C была кодированием существующей практики, она шифровала [приблизительно 111] существующие методы, которые сделали ее более трудной. P.J. Книга Plauger, Стандартная библиотека для C , является большой ссылкой, и также говорит некоторые закулисные детали , почему библиотека закончила способ, которым это сделало.

ANSI/стандарт ISO C очень похож на K& R C большинством способов. Это было предназначено, что большая часть существующего кода C должна основываться на компиляторах ANSI без многих изменений. Кардинально, тем не менее, в предстандартную эру, семантика языка была открыта для интерпретации каждым поставщиком компилятора. ANSI C ввел общее описание языковой семантики, которая помещает все компиляторы на равные условия. Легко считать это само собой разумеющимся теперь, приблизительно 20 лет спустя, но это было значительным успехом.

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

120
задан Augustus 30 September 2016 в 13:16
поделиться

5 ответов

Просто используйте Map # get (key) ?

Object value = map.get(myCode);

Вот руководство по картам, оно может вам пригодиться: http: //java.sun .com / docs / books / tutorial / collections / interfaces / map.html .

Изменить: вы отредактировали свой вопрос следующим образом:

Я ожидаю увидеть строку, например "ABC" или "DEF" - это то, что я ввел туда изначально, но если я использую System.out.println (), я получаю что-то вроде java.lang.string # F0454

Извините, я не слишком знаком с картами, как вы, наверное, догадались;)

Вы видите результат Object # toString () . Но для java.lang.String уже должна быть реализована одна из них, если только вы не создали пользовательскую реализацию со строчными s в имени: java. lang.string . Если это на самом деле пользовательский объект, вам необходимо переопределить Object # toString () , чтобы получить «читаемую человеком строку» всякий раз, когда вы выполняете System.out.println () или toString () для желаемого объекта. Например:

@Override
public String toString() {
    return "This is Object X with a property value " + value;
}
163
ответ дан 24 November 2019 в 01:37
поделиться

Если вы храните ключи / значения в виде строк, то это будет работать:

HashMap<String, String> newMap = new HashMap<String, String>();
newMap.put("my_code", "shhh_secret");
String value = newMap.get("my_code");

Вопрос в том, что заполняется в HashMap (ключ и значение)

57
ответ дан 24 November 2019 в 01:37
поделиться

Боюсь, ваш вопрос совсем не ясен. У ключа нет «имени»; что касается карты, он ничего не "называет" - это просто ключ, который будет сравниваться с другими ключами. Если у вас много разных типов ключей, я настоятельно рекомендую вам поместить их в разные карты для здравого смысла.

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

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

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

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

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

9
ответ дан 24 November 2019 в 01:37
поделиться

map.get (myCode)

6
ответ дан 24 November 2019 в 01:37
поделиться

Вы можете использовать метод get (Object key) из HashMap. Имейте в виду, что во многих случаях ваш ключевой класс должен переопределять метод equals, чтобы быть полезным классом для ключа карты.

0
ответ дан 24 November 2019 в 01:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: