首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将ArrayList的字符串表示形式转换为ArrayList

如何将ArrayList的字符串表示形式转换为ArrayList
EN

Stack Overflow用户
提问于 2012-04-17 14:28:39
回答 3查看 3.2K关注 0票数 0

我有一个ArrayList,我将其转换为字符串,如

代码语言:javascript
运行
复制
ArrayList str = (ArrayList) retrieveList.get(1);
...

makeCookie("userCredentialsCookie", str.toString(), httpServletResponce);
....

private void makeCookie(String name, String value, HttpServletResponse response) {

    Cookie cookie = new Cookie(name, value);
    cookie.setPath("/");
    response.addCookie(cookie);

} //end of makeCookie()

现在,当我检索Cookie值时,我得到了字符串,但我再次希望将其转换为ArrayList,如下所示

代码语言:javascript
运行
复制
private void addCookieValueToSession(HttpSession session, Cookie cookie, String attributeName) {       
    if (attributeName.equalsIgnoreCase("getusercredentials")) {

        String value = cookie.getValue();
        ArrayList userCredntialsList = (ArrayList)value;  //Need String to ArrayList 
        session.setAttribute(attributeName, userCredntialsList);
        return;
    }

    String value = cookie.getValue();
    session.setAttribute(attributeName, value);

} //end of addCookieValueToSession

如何再次将其转换为ArrayList?谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2012-04-17 14:35:51

someList.toString()不是序列化数据的适当方式,而且会给您带来麻烦。

由于您需要将其作为字符串存储在cookie中,因此请使用JSON或XML。google-gson可能是一个很好的库:

代码语言:javascript
运行
复制
ArrayList str = (ArrayList) retrieveList.get(1);
String content = new Gson().toJson(str);
makeCookie("userCredentialsCookie", content, httpServletResponce);
//...
ArrayList userCredntialsList = new Gson().fromJson(cookie.getValue(), ArrayList.class);
票数 3
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10186220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档