当前位置: 首页 > 知识库问答 >
问题:

在以下情况下如何避免NPE?

高吉星
2023-03-14
List<User> sortedList = userList.stream()       
    .sorted(Comparator.comparingInt(User::getAge).reversed())
    .collect(Collectors.toList());

sortedList.forEach(System.out::println)

在上述情况下,如果用户为空,则给出NPE。如何避免NPE?

共有1个答案

芮宇航
2023-03-14

是的,我找到了解决办法。这很容易。只需使用流。过滤器(a)-

List<User> sortedList = userList.stream()
    .filter(a->a!=null)       
    .sorted(Comparator.comparingInt(User::getAge).reversed())
    .collect(Collectors.toList());

sortedList.forEach(System.out::println)
 类似资料:
  • 在这种情况下是否可以避免ArrayIndexOutOfBoundsException??

  • 问题内容: 我已经阅读了很多有关代码重构和避免if else语句的主题。实际上,我有一堂课,我在使用很多if-else条件。 更多详细信息:我正在使用拉式解析器,并且在我的肥皂响应的每一行上,我都会检查是否有我感兴趣的标签,如果没有,请检查其他标签,等等: 现在,我想使用somethimg,而不是其他条件,但是我不知道是什么。 您能给我一个例子还是一个很好的教程页面? 谢谢。 问题答案: 在这种特

  • 我在这里陷入了僵局。 我在ArrayList中存储了值。每个值都是一个字符串,它由几个其他字符串组成,用分隔符(##)分隔。 例如:ArrayList lst有以下4个值。 null string[]arry=erow.split(“##”); 在这个for循环中,我使用另一个for循环for arry.length()来获取每个字符串(比如aaa),并使用Apache POI将其写入excel上

  • 问题内容: 当前,当我发出此SQL时,它将获得不同的用户名。 我有一些不同的用户名,它们代表组,例如。 我想将所有其他用户名(恰好是数字)分组为一个组,例如 我可以实现以下目标吗? 编辑:从答案修改的查询 问题答案: @bfavaretto很好(对他+1),但是如果您不了解前缀或前缀不同,则可以使用类似以下内容的方法:

  • '''System.SetProperty(“webdriver.chrome.driver”,“c://users//naqdaq//downloads//chromedriver_win32//chromedriver.exe”);WebDriver驱动程序=新ChromeDriver(); '''

  • 到目前为止,我运行的是一台视窗8.1电脑,它没有像Android Studio或Eclipse这样的IDE的存储或内存。我想下载Android SDK工具,没有IDE。如何才能做到这一点?