【问题标题】:Remove Null from For loop of ArrayList从 ArrayList 的 For 循环中删除 Null
【发布时间】:2021-07-04 11:19:43
【问题描述】:

我目前正在将 ArrayList 转换为 String 以将其发送到 DB,以便我可以在另一端检索它并稍后将其转换回 ArrayList。

我的想法是通过执行以下操作将其转换为当前字符串

for(Integer o: questions) questionString += o + ",";

questions 是 ArrayList,如下所示:[4, 4]

当我查看我的数据库时,它看起来像这样null4,4,

我将如何删除开头的null 和最后的,,使其看起来像数据库中的4,4

另一方面,我可以使用以下方法获取它:

ArrayList myList = new ArrayList<String>(Arrays.asList(arrayQuestions.split(",")));

(我正在使用 SQLite,这是我大学项目的要求)

【问题讨论】:

  • 提示:你知道如何检查某个东西是否为空吗? (if (o == null) 在这种情况下,或if (o != null) 来测试它是否不为空。)我还强烈建议 always 使用大括号 for 循环,顺便说一句。
  • 那么,为什么不使用一个表格将列表中的每个元素保留在一行中呢?提供有关您想要做什么的更多详细信息,以便我们为您提供指导。显示项目问题。
  • @Tarik 抱歉,这是一个测验项目。我们必须在测验中给用户两次尝试,以便从上一个测验中获取问题,我将 question_ID 存储在要存储在数据库中的 ArrayList 中,但我发现 SQLite 不允许您使用 setArray()。我的想法是将它们存储为字符串,所以在另一端我可以将它们解析回 ArrayList
  • 将它们一一存储在具有单列的表中。

标签: java sql arrays sqlite arraylist


【解决方案1】:

只需检查“o”是否为空。

if (o == null)

【讨论】:

    【解决方案2】:

    你应该在循环之前将questionString初始化为"";

    String questionString = "";
    

    【讨论】:

      【解决方案3】:

      您正在使用 SQL(特别是 SQLite)。这意味着您应该避免将 ArrayList 存储为字符串。

      相反,您想研究数据库规范化和关系模型。您应该为每个列表元素使用多行,而不是在其中包含一个列表的单行。

      【讨论】:

        猜你喜欢
        • 2021-05-21
        • 2012-05-31
        • 1970-01-01
        • 2014-11-13
        • 2019-11-03
        • 2018-03-27
        • 1970-01-01
        • 2015-09-11
        相关资源
        最近更新 更多