List<String> listStr = new ArrayList<String>();

if(listStr.size == 0){

}


if(listStr.isEmpty()){

}

在我看来,使用listStr.isEmpty()的好处之一是它不检查列表的大小,然后将其与零进行比较,它只是检查列表是否为空。我在代码库中经常看到if(listStr.size == 0)而不是if(listStr.isEmpty()),还有其他优点吗?是否存在我不知道以这种方式检查的原因?

最佳答案

this question的答案可能会为您提供答案。基本上,在某些列表的实现中,isEmpty()方法检查大小是否为零(因此,从性能的角度来看,它们实际上是等效的)。但是,在其他类型的列表(例如链接列表)中,计数项目比检查其是否为空需要更多的时间。

因此,使用isEmpty()方法检查列表是否为空总是很方便的。在所有类型的列表中提供这种方法的原因也与接口(interface)有关,因为ArrayListVectorLinkedList实现相同的List接口(interface):this interface具有isEmpty()方法;然后,每种特定类型的列表都提供了isEmpty()方法的实现。

关于java - if(listStr.size == 0){与if(listStr.isEmpty()){,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9341740/

10-11 19:16