为什么Arrays.toString(值).trim()产生[方括号的文字] [英] Why does Arrays.toString(values).trim() produce [bracketed text]?

查看:1004
本文介绍了为什么Arrays.toString(值).trim()产生[方括号的文字]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Map<String, String[]> map = request.getParameterMap();
for (Entry<String, String[]> entry : map.entrySet())
{
    String name = entry.getKey();
    String[] values = entry.getValue();
    String valuesStr = Arrays.toString(values).trim();
    LOGGER.warn(valuesStr);

我想使用上述code在请求参数值来查找。

I'm trying to look at a request parameter value using the code above.

为什么 Arrays.toString(值).trim(); 支架上的参数值,所以它看起来是这样的:

Why does Arrays.toString(values).trim(); bracket the parameter value so it looks like this:

[Georgio]

什么是在这里得到字符串没有括号的最佳方式?

如果我这样做:

String valuesStr = values[0].trim();

似乎还有数组中失去后续值的风险。

it seems there is a risk of losing subsequent values in the array.

推荐答案

这就是默认由 Arrays.toString(对象[])方法应用的格式。如果你想跳过括号,你可以建立自己的字符串,例如:

That is just the default formatting applied by the Arrays.toString(Object[]) method. If you want to skip the brackets you can build the string yourself, for example:

public static String toString(Object[] values)
{
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < values.length; i++)
    {
        if (i != 0)
            sb.append(", ");
        sb.append(values[i].toString());
    }
    return sb.toString();
}

这篇关于为什么Arrays.toString(值).trim()产生[方括号的文字]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆