使用StrSubstitutor替换数组值

时间:2014-09-26 16:04:51

标签: java arrays apache-commons-lang

我正在尝试使用StrSubstituor API来替换数组值。到目前为止,它最终取代了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 个答案:

答案 0 :(得分:1)

  

然而,现在它打印的内容如下:

     

[Ljava.lang.String; @ 4c011fe StrSubstitutor API。

您似乎正在尝试打印String[]。尝试使用Arrays.toString()

在你的帖子中,你需要替换这一行:

valuesMap.put("greeting", greetings);

有了这个:

valuesMap.put("greeting", Arrays.toString(greetings));