Использование StrSubstitutor для подстановки значений массива

Я пытаюсь использовать API StrSubstituor для замены значений массива. Пока что это просто заканчивается заменой значения array.toString.

String[] greetings = {"Hello", "World"};    
Map<String, String[]> valuesMap = new HashMap<String, String[]>();
valuesMap.put("greeting", greetings);

String templateString = "${greeting} StrSubstitutor APIs.";
StrSubstitutor sub = new StrSubstitutor(valuesMap);
String resolvedString = sub.replace(templateString);

Результат должен быть:

Hello World StrSubstitutor APIs.

Тем не менее, теперь он печатает что-то вроде:

[Ljava.lang.String;@4c011fe StrSubstitutor APIs.

Дайте мне знать, если вам нужна дополнительная информация. Любые указатели будут с благодарностью. Если это не способ сделать это, пожалуйста, предложите, как лучше всего это сделать. Извините, если я полностью ошибаюсь.

1 ответ

Решение

Тем не менее, теперь он печатает что-то вроде:

[Ljava.lang.String; @ 4c011fe API-интерфейсы StrSubstitutor.

Кажется, вы пытаетесь распечатать String[], Попробуй использовать Arrays.toString(),

В вашем посте вам нужно заменить эту строку:

valuesMap.put("greeting", greetings);

С этим:

valuesMap.put("greeting", Arrays.toString(greetings));
Другие вопросы по тегам