我有一个type List<Something>
的变量list
,语句如下:
if (list==[]) print("list is empty");
else if (list.isEmpty) print("The previous check didn't work so I used this one").
我以为这两行是完全相同的代码,有什么不同?list==[]
和list.isEmpty
为什么不同?
第一个变量检查list是否与新创建的实例相同(通过[]创建-所以它是引用比较)-因此它是假的。另一方面,List.isEmpty
"要求"给定的列表是否为空。