首页 > 解决方案 > 如何知道java中的数组列表是否为空?

问题描述

我的数组如下:

    unitList = new ArrayList<String>( Arrays.
            asList(result.getJSONObject( position ).
                    getString( "units" ).replace("[", "").
                    replace("]", "").
                    split(",")));

当我使用这个函数时,我想知道它是否在这个数组中至少有一个元素:

unitList.size()

它返回这个:

06-30 02:04:51.453 18653-18653/search.bert.searchviewtest I/unitList.size: 1
06-30 02:04:51.453 18653-18653/search.bert.searchviewtest I/unitList: []
06-30 02:04:56.123 18653-18653/search.bert.searchviewtest I/unitList.size: 6
06-30 02:04:56.123 18653-18653/search.bert.searchviewtest I/unitList: ["1", "2", "3", "4", "5", "6"]

这很奇怪,因为[]没有任何元素,但它返回1。如果列表是[“1”],它是否也会返回1?我怎么知道列表是否为空?

补充1:

我的日志代码如下:

    Log.i("unitList.size", String.valueOf( ( unitList.size() ) ) );
    Log.i("unitList",unitList.toString());

标签: javaandroid

解决方案


如果您只想检查列表中是否至少有一个元素,您可以使用列表中的 isEmpty() 函数。

但是,如果它在不应该返回 true 时(并且可能为什么在它为空时得到 1),那么您可能会传入空字符串 ""


推荐阅读