当前位置: 首页 > 知识库问答 >
问题:

Android ArrayList大小返回1,即使列表中没有项目

尉迟墨竹
2023-03-14
  String dbString=[10,5,34,67];  // array list as string
  String replace = dbString.toString().replace("[", "");
            String replace1 = replace.replace("]", "");
            mysignimgList = new ArrayList<String>(Arrays.asList(replace1.split(",")));

案例2:

  String dbString2=[];  //empty array list as string
  String replace = dbString2.toString().replace("[", "");
            String replace1 = replace.replace("]", "");
            mysignimgList2 = new ArrayList<String>(Arrays.asList(replace1.split(",")));

但是在第二种情况下,即使arraylist中没有项,它的大小也将得到mySignimgList2.size()=1。

共有1个答案

令狐钧
2023-03-14

在你的情况下2

String dbString2="[]";

在您的代码中,它试图用逗号(,)作为分隔符将其拆分成几个部分。万一它找到了分离器,它就把它拆成碎片。但是如果它没有找到任何separtor,它将在返回的列表中指定给定的字符串。

在您的例子中,字符串数组中有一个元素的值为“”,或者说是空字符串。

 类似资料:
  • 问题内容: 我有一个位置数据库。当我尝试将它们转换为坐标以便将它们放置在地图上时,会出现错误。我的地址类型地址列表的大小为零。我研究了这个话题。我所有的清单权限均正确。我的手机已连接到互联网。我已经重启了手机。我知道有一个Google问题,解决方案也无济于事。位置准确。请帮忙。 这是错误消息:android.database.CursorIndexOutOfBoundsException:已请求索

  • 问题内容: 这是我非常简单的表格(Postgres): 如果我尝试使用FROM数据库下面的命令插入String,那么一切都会按预期工作,不足为奇的是,数据库中会出现一个新行。 但是,如果我想通过JDBC插入字符串,则不会插入任何内容,尽管prepareStatement.executeUpdate()始终返回1。 下面是我的方法应该起作用,但是没有起作用。请告诉我是否缺少明显的东西。我想补充一点,

  • 问题内容: 我有这种简单的查询,它返回给定id的非空整数字段: 问题是,如果找不到ID,则结果集为空。我需要查询始终返回一个值,即使没有结果也是如此。 我有这个东西工作,但我不喜欢它,因为它运行相同子查询的2倍: 如果该行存在,则返回field1,否则返回0。有什么改进的方法吗? 谢谢! 编辑以下一些评论和答案 :是的,它必须在 单个查询语句中, 并且我不能使用count技巧,因为 我只需要返回1

  • 我刚开始使用proguard,并使用了在此站点上找到的一个文件作为我的proguard.cfg文件: -OptimizationPasss 5-DontUsemixedCaseClassNames-DontSkipNonPublicLibraryClasss-DontPreVerify-详细-Optimizations!代码/简化/算术,!field/,!class/merging/ -保留公共类

  • 我打开了多个chrome窗口,但是selenium中的getWindowHandles总是返回大小为1,即使chrome的多个实例都打开了。 下面是代码: 以下是输出: 你知道为什么会这样吗?或者也许我做错了什么。 Im使用Selenium-Java"selenium-java-3.13.0" JDK"10.0.2" Chrome“版本68.0.3440.75(官方版本)(64位)”

  • 问题内容: 我正在使用Python和清单上的函数执行minimax算法,并且需要由或返回的值的索引。换句话说,我需要知道哪个移动产生了最大(第一玩家的回合)或最小(第二玩家)的值。 我需要能够返回最小值或最大值的实际索引,而不仅仅是返回值。 问题答案: