@Daria_D15
Junior QA Automation

Почему в Map при добавлении в значение массива, при выводе результата не возвращается массив?

TreeMap<String, String[]> permissionId = new TreeMap<>();

        permissionId.put("4", new String[]{"account", "schedule", "vacations", "personal", "object", "tasks", "zayavka", "payment", "personal_target", "corporate-cards"});
 System.out.println(permissionId);

Ответ
{4=[Ljava.lang.String;@6fc7e828}
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
al_gon
@al_gon
[Ljava.lang.String;@6fc7e828 это и есть вывод массива.

Если хотите красиво, то надо Arrays.toString(permissionId.get("4"));

Или дополнительно оборачивать объектом с переопределением toString()

Массив это объект в Java, но у него нет возможности сделать переопределение toString()

UPDATE:
permissionId.forEach((k,v)-> System.out.println(String.format("%s:%s", k, Arrays.toString(v))));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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