我在学习编程,我在研究Java中的流。我写了一个方法,可以从医生和病人名单中找出最高的人体物体。
public static void tallestPatient(List<Human> patients) throws NullPointerException {
try {
System.out.println("Tallest patient: ");
System.out.print(patients.stream().max(Comparator.comparingInt(Human::getHeight)));
System.out.println();
} catch (NullPointerException e) {
e.printStackTrace();
}
}
该方法本身也可以工作。我刚刚注意到,每当我试图打印出choosen对象(最高的人)的toString()方法时,控制台上都有一个“可选[…]”标记。
控制台-输出:
最高的病人:可选的【彼得是一个有私人保险的美国人,大约220厘米高。]
IDE告诉我,那是因为如果是空列表,元素可能为零。试图通过考虑NullPointerExceptions以及if和else条件来消除这一点,这也没有解决问题,为什么仍然使用异常变体。
有没有人有想法,我可以解决什么?
问候贾斯汀
聚合函数< code>Stream::max返回一个< code>Optional,而< code>Optional的< code > toString -实现产生我们观察到的< code >字符串。
我们可以通过解开< code>Optional来防止这种情况。一种可能的方法是调用< code>Optional::orElse:
System.out.print(patients.stream()
.max(Comparator.comparingInt(Human::getHeight))
.orElse(null));
另一种可能性是,如果值通过可选::ifPresent
显示,则仅打印
:
patients.stream()
.max(Comparator.comparingInt(Human::getHeight))
.ifPresent(System.out::println)
对代码的评论:捕获NullPointerException
的决定至少是有问题的。我建议显式强制非null
ity。
如何从播放控制台删除应用程序?有没有办法删除被拒绝的应用程序从谷歌播放开发者控制台?我们如何从Play控制台永久删除草稿应用程序或游戏。
控制台-部门-删除 接口URL {youke-url}/console/Index.php?c=department&a=delete×tamp=1607677497&access_key=abc&sign=abea261d1d33b1ec347801e4cce7fc1f73b5a8cc 请求方式 POST Content-Type form-data 请求Body参数 参数 示例值 是
控制台-观众-删除 接口URL {youke-url}/console/Index.php?c=audience&a=delete×tamp=1607677497&access_key=abc&sign=8584a009d9ca9cca94e0331a7960d7ebee2dd0a7 请求方式 POST Content-Type form-data 请求Body参数 参数 示例值 是否必
控制台-频道-删除 接口URL {youke-url}/console/Index.php?c=live&a=delete×tamp=1607677497&access_key=abc&sign=3943c8f8f4c65ba7affc55bc7201b4f49996819b 请求方式 POST Content-Type form-data 请求Body参数 参数 示例值 是否必填 参数
我已经搜索了很多地方,但是没有找到有效的。。。一定有办法!!!所以,我需要的是一个代码,它在Eclipse中清除控制台(使其为空)。不,不要打印50行空白,清除它! 我发现了这个: 但它给了我一个错误:“类型控制台的clear()方法未定义”
到目前为止我试过: 和: 但这些都奏效了。