java - 使用任何最新的库功能高效编码
问题描述
我有一个特定的代码块,我想更有效地使用它,很快就会使用任何晚于 Java 8 的功能。我不知道是否存在任何功能,所以如果你没有任何功能,我可能会像以前一样继续这样做建议。这是我要修改的代码块:
if(page != null) {
coPage = companyService.findByCity(city, Integer.valueOf(page)-1);
}else {
page="1";
coPage = companyService.findByCity(city, 0);
}
我尝试使用 Optional 来执行此操作,但变量“page”有问题,因为我在 lambda 表达式中为局部变量分配了一个值,而编译器不允许我这样做。
解决方案
使用 Optional 很简单:
coPage = companyService.findByCity(city, Integer.METHOD(Optional.ofNullable(page).orElse("1"))-1);
其中 METHOD 分别是parseInt和valueOf之一。
但是,按照Brian Goetz的规定,通常最好以下列方式使用 Optional
[可选是] 库方法返回类型的有限机制,其中 [需要] 有一种明确的方式来表示“无结果”,并且使用 null 来表示这种 [is] 极有可能导致错误。
推荐阅读
- python-3.x - LookupError:未知编码:anaconda 中的 65001
- laravel - 如何在 laravel 面包屑中制作不同的图标网址?
- java - 根据给定模板使用 Apache PDFBox 库生成自定义 pdf 布局?
- c# - 文件锁定写入和读取
- scala - 播放框架 Scala:使用 scala akka 流创建无限源并保持服务器发送事件连接在服务器上打开
- netlogo - 运行`inspect`时如何调整NetLogo源代码折叠监视器窗口的View-window
- kubernetes - 分享 kube 配置
- wordpress - 单击自定义结帐按钮后在结帐页面上显示“请选择产品选项...”
- javascript - 如何仅导入或使用子组件?
- c++ - 使用基于数组和范围的 For 循环来替换一些基本的代码行