当前位置: 首页 > 面试题库 >

Java将ArrayList转换为字符串并返回到ArrayList?

谷星文
2023-03-14
问题内容

我想将ArrayList保存到SharedPreferences,因此需要将其转换为字符串然后返回,这就是我正在做的事情:

// Save to shared preferences
SharedPreferences sharedPref = this.getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = this.getPreferences(Activity.MODE_PRIVATE).edit();
editor.putString("myAppsArr", myAppsArr.toString());
editor.commit();

我可以用它来检索它,String arrayString = sharedPref.getString("yourKey", null);但我不知道如何将arrayString转换回ArrayList。如何做呢?

我的数组看起来像:

[item1,item2,item3]

问题答案:

您有2个选择:

  1. 手动解析字符串并重新创建arraylist。这将是非常乏味的。
  2. 使用Google的Gson库之类的JSON库,以JSON字符串形式存储和检索对象。这是一个轻量级的库,备受推崇并广受欢迎。对于您的情况而言,这是一种理想的解决方案,只需最少的工作。例如,
        // How to store JSON string
    Gson gson = new Gson();
    // This can be any object. Does not have to be an arraylist.
    String json = gson.toJson(myAppsArr);

    // How to retrieve your Java object back from the string
    Gson gson = new Gson();
    DataObject obj = gson.fromJson(arrayString, ArrayList.class);


 类似资料:
  • 问题内容: 我正在编写一个将数据存储在字典对象中的程序,但是该数据需要在程序执行过程中的某个时候保存,并在再次运行该程序时重新加载到字典对象中。我如何将字典对象转换为可以写入文件并再加载回字典对象的字符串?希望这将支持包含词典的词典。 问题答案: json模块是一个很好的解决方案。与pickle相比,它的优势在于它仅生成纯文本输出,并且是跨平台和跨版本的。

  • 问题内容: 为了转换字符串,我将其转换为字节,如下所示: 为了转换,我做了:显然不起作用。我将如何转换回去? 问题答案: 您原来的城市名称中有哪些字符?尝试这样的UTF-8版本:

  • 问题内容: 我想遍历每个单独的ArrayList。我不知道如何将字符串转换为适当的ArrayList对象。 问题答案: 这种语法看起来像是JSON的子集,我猜想客户端实际上是将其编码为JSON。假设这是真的,最简单的方法将是使用现成的JSON解析器和一些简单的Java代码将结果对象转换为代码所需的形式。 当然,您可以手动实现自己的解析器,但是这样做可能不值得,尤其是如果您必须处理字符串转义,空格中

  • 问题内容: 我想将数组转换为。例如字符串数组是这样的: 如何将此String数组转换为ArrayList? 问题答案: 为此使用此代码,

  • 问题内容: 在我的程序中,我试图将日期转换为指定格式的字符串,然后再转换为日期。我需要日期为dd-MMM- yy格式。因此,我正在使用SimpleDateFormat将日期转换为dd-MMM-yy格式, 结果是我预期的,即12年5月23日,但是当我使用parse()将字符串转换回日期时,它将更改为IST 2012年5月23日星期三13:16:14。 有什么方法可以将字符串转换回日期而不更改格式?我

  • 在我的程序中,我试图将日期转换为字符串,转换为指定格式,然后转换回日期。我需要日期是dd-MMM-yy格式。因此,我使用SimpleDateFormat将日期转换为dd-MMM-yy格式, 结果与我预期的一样,即23-may-12,但当我使用parse()将字符串转换回日期时,它更改为Wed may23 13:16:14 IST 2012。 有什么方法可以在不改变格式的情况下将字符串转换回日期吗?