基本上,我有一个Map<String, String[] >
,其中包含一串带密钥的字符串。如果我执行String value = myMap.get("keyName");
,则会返回Object
而不是字符串,并且回显它会生成如下内容:Ljava.lang.String;@1dfa166
。做toString()
也无济于事。
我需要做什么才能将值变为字符串:
我的代码如下所示:
String value ="" + request().body().asFormUrlEncoded().get("keyName");
此处asFormUrlEncoded()
方法返回Map
答案 0 :(得分:5)
您将返回一个字符串数组(声明的通用Map的第二个参数)。
将其更改为
String [] values = myMap.get( "keyName" );
并检查values.length以查看数组中有多少个字符串。如果它只是一个,您只需访问values[0]
。
它允许字符串数组的原因是因为表单中的每个键都可以有多个值,所以它不能返回单个字符串。