2017-08-04 73 views
0

而下面的方法只有'名称'地图的关键是作为回应..... 为什么价值地图是ArrayList的不响应未来虽然在Java球衣api中使用地图<String,Arraylist <String>>,它只是给出地图的关键字,即字符串

端点mehtod的是如下

public LoginResponse LoginUserJSON(LoginRequestVO requestVOLogin) 
    { 
    LoginResponse lr = new LoginResponse(); 
    Map<String, ArrayList<String>> mapObj = new 
    HashMap<String,ArrayList<String>>(); 
    ArrayList<String> loginRequestVOs = new ArrayList<>(); 

    lr.setStatus("Done"); 
    loginRequestVOs.add("parth1"); 
    loginRequestVOs.add("parth2"); 

    mapObj.put("name", loginRequestVOs); 

    lr.setRequestData(mapObj); 

    System.out.println(mapObj); 
    return lr; 
    } 

responsevo是如下

@XmlRootElement(name= "Response") 
    @XmlAccessorType(XmlAccessType.FIELD) 
    public class LoginResponse 
    { 
    @XmlElement(name = "status") 
    String status; 

    @XmlElement(name = "requestData") 
    private Map<String, ArrayList<String>> requestData; 

    public String getStatus() 
    { 
    return status; 
    } 

    public void setStatus(String status) 
    { 
    this.status = status; 
    } 

    public Map<String, ArrayList<String>> getRequestData() 
    { 
    return requestData; 
    } 

    public void setRequestData(Map<String, ArrayList<String>> requestData) 
    { 
    this.requestData = requestData; 
    } 
    } 

回答

0

你可以试试如果您正在使用java 8码流api 8

Map<String, ArrayList<String>> mapObj = new HashMap<>(); 

mapObj.entrySet() 
    .stream() 
    .map(entry -> String.format("[key: %s, value: %s]", entry.getKey(), Arrays.toString(entry.getValue().toArray()))) 
    .forEach(System.out::println) 
; 
相关问题