【问题标题】:String set to ArrayList? [closed]字符串设置为 ArrayList? [关闭]
【发布时间】:2014-01-14 05:50:13
【问题描述】:

所以我正在寻找如何将String 设置更改为ArrayList<sSring>,但我找不到任何东西。我试过了:

favorites  = new ArrayList( mPrefsaved.getStringSet("faves", null) ;

如何将StringSet 转换为ArrayList<string>

我试过了:

  private void getsaved() {

      favorites = new ArrayList<String>(mPrefsaved.getStringSet("faves", null));

}

但是日志猫告诉我NullPointerException

【问题讨论】:

  • 什么是字符串集?
  • 结束括号将有助于开始。
  • StringSet 是你自己的对象吗?

标签: java android arrays string type-conversion


【解决方案1】:

假设你有一组像

这样的字符串
Set<String>  set = new HashSet<String>();
 // some elements in set

那你可以试试

 List<String>  listFromSet = new ArrayList<String>(yourCurrentSet);

在你的情况下。

 List<String>  listFromSet = new ArrayList<String>(mPrefsaved.getStringSet("faves", null));

确保您的方法 getStringSet 返回一个字符串集合。

【讨论】:

  • 使用底部方法返回空指针异常错误。我知道 myPrefsaved 返回一个集合值,因为我在另一个活动中使用它,它将数据检索到一个字符串集合中
  • 你初始化mPrefsaved了吗?它是空的吗?
  • mPrefsaved =getSharedPreferences("MyPreferences", 0);是的
【解决方案2】:

在stringset中使用foreach,将每个字符串添加到arraylist中

ArrayList<String> arrayList = new ArrayList<String>();
for (String str : stringset)  
    arrayList.add(str);

【讨论】:

  • 我得到一个空指针异常
  • @user3127974 你能发布堆栈跟踪吗?
  • @sᴜʀᴇsʜᴀᴛᴛᴀ 那是什么?
  • @user3127974 堆栈跟踪:stackoverflow.com/questions/3988788/…
  • 最简单的方法是ArrayList arrayList = new ArrayList(StringSet)
猜你喜欢
  • 1970-01-01
  • 2016-06-23
  • 2018-08-27
  • 2016-08-27
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 2013-11-16
  • 1970-01-01
相关资源
最近更新 更多