我的数组如下所示:
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());
最佳答案
如果只想检查列表中是否至少有一个元素,则可以使用列表中的isEmpty()函数。
但是,如果在不应该返回的情况下返回true(并且很可能在为空时返回1),则可能会传递空字符串“”