Преобразование объекта Java-карты в объект Properties - PullRequest
28 голосов
/ 07 ноября 2011

Кто-нибудь может предоставить мне лучший способ преобразования объекта карты Java в объект свойств, чем приведенный ниже?

    Map<String, String> map = new LinkedHashMap<String, String>();
    map.put("key", "value");

    Properties properties = new Properties();

    for (Map.Entry<String, String> entry : map.entrySet()) {
        properties.put(entry.getKey(), entry.getValue());
    }

Спасибо

Ответы [ 5 ]

68 голосов
/ 07 ноября 2011

Использование Properties::putAll(Map<String,String>) метод:

Map<String, String> map = new LinkedHashMap<String, String>();
map.put("key", "value");

Properties properties = new Properties();
properties.putAll(map);
5 голосов
/ 30 июня 2016

Вы также можете использовать Apache commons-collection4

org.apache.commons.collections4.MapUtils#toProperties(Map<K, V>)

пример:

Map<String, String> map = new LinkedHashMap<String, String>();

map.put("name", "feilong");
map.put("age", "18");
map.put("country", "china");

Properties properties = org.apache.commons.collections4.MapUtils.toProperties(map);

см. Javadoc

https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/MapUtils.html#toProperties(java.util.Map)

2 голосов
/ 07 ноября 2011

Вы можете сделать это с помощью Commons Configuration:

Properties props = ConfigurationConverter.getProperties(new MapConfiguration(map));

http://commons.apache.org/configuration

1 голос
/ 19 июня 2017

Попробуйте MapAsProperties от Cactoos :

import org.cactoos.list.MapAsProperties;
import org.cactoos.list.MapEntry;
Properties pros = new MapAsProperties(
  new MapEntry<>("foo", "hello, world!")
  new MapEntry<>("bar", "bye, bye!")
);
0 голосов
/ 29 апреля 2014

Простое использование putAll()

Properties pro = new Properties();
pro.putAll(myMapObject);

Как он принимает карту в качестве ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...