Properties
это класс, который является частью Java, так как Java 1.0 .... задолго доMap
и HashMap
были введены. Фактически вы увидите, что Properties
расширяет старый (унаследованный) класс Hashtable
, который был предшественником HashMap
.
Properties
играет важную роль в значительном проценте приложений Java в виде объекта системных свойств. Он не может быть заменен в этой роли без внедрения проблем совместимости. (Даже изменение, которое вводится второй (двойной) свойства механизм будет проблематично ... так как некоторый код пишет к объекту системы Properties
.)
Properties
имеет некоторые важные функции, которые HashMap
не дает; то есть способность загружать и сохранять свойства в двух стандартных форматах, читаемых человеком.
Может быть, это уменьшает количество кода для записи, чтобы загрузить файл/магазин свойства. Потому что в противном случае мы должны создать BufferedReader и прочитать файлы и разделить String и все это.
Да. И вы обнаружите, что синтаксис файла свойств более сложный, чем может быть проанализирован с помощью split
или регулярных выражений. Посмотрите на синтаксис описан здесь:
Но если мы хотим, чтобы наши пары ключ/значение из других источников файла, то, вероятно, это не делает никакой разницы ли мы используют класс свойств или класс HashMap.
Снова, правильно. Для этого варианта использования HashMap
может быть даже выше. Большинство методов Properties
/Hashtable
синхронизированы. Если вам не нужна эта синхронизация, это (небольшое) ограничение производительности.
Свойства влияют на выполнение приложения, и по умолчанию для java настраивается среда для приложения. – t0mm13b
Класс «Свойства» представляет определенный тип карты. Наличие класса дает вам возможность повторно использовать реализацию во всех вещах, обладающих свойствами. В противном случае вам придется переписывать его каждый раз. – ChiefTwoPencils
Вы уже ответили на свой вопрос. Он содержит код ввода/вывода. Неясно, что вы действительно спрашиваете. – EJP