我有两种方法可以检查List是否为空
if (CollectionUtils.isNotEmpty(listName))
Run Code Online (Sandbox Code Playgroud)
和
if (listName != null && listName.size() != 0)
Run Code Online (Sandbox Code Playgroud)
我的拱门告诉我,前者比后者好.但我认为后者更好.
有人可以澄清一下吗?
以下是我的代码段的两行:
List<String> listDevs = Arrays.asList("alvin", "Alchemist", "brutus", "larsen", "jason", "Kevin");
listDevs.sort(Comparator.comparing(String::length)); //This works fine
listDevs.sort(String::compareToIgnoreCase); //This works fine
Run Code Online (Sandbox Code Playgroud)
但是(当expermient)当我尝试写
listDevs.sort(Comparator.comparing(String::compareToIgnoreCase));
Run Code Online (Sandbox Code Playgroud)
编译器抛出错误
无法从类型String中对非静态方法compareToIgnoreCase(String)进行静态引用
类似的情况发生在下面的代码中
listDevs.sort(Comparator.comparing(String::compareTo));
Run Code Online (Sandbox Code Playgroud)
我理解错误,如果我删除Comparator.comparing(如上所示)它工作正常.
但我的观点是,这条线如何运作?
listDevs.sort(Comparator.comparing(字符串::长度));
我相信我错过了一些东西.我已经读过这个帖子了.这是同样的情况吗?
我已经完成了这些术语的所有正式定义.但是,我仍然很难理解他们.我是hybris的初学者.那么有人可以解释这些概念尽可能简单吗?
java ×2
catalog ×1
collections ×1
comparator ×1
e-commerce ×1
hybris ×1
is-empty ×1
java-8 ×1
product ×1