我正在从事一个项目(Java 17),其中我有一个对象列表,其中有两个属性,actionId(字符串)和
right(布尔值)。我正在尝试获取right=true的对象的actionId,并将结果存储为字符串列表。
这是我的代码:
List<String> usserValidActionsArray = userActionGatewayDTO.stream().filter(UserActionGatewayDTO::getRight)
.map(UserActionGatewayDTO::getActionId).toList();
我的代码工作正常,但声纳说:
重构代码以便使用此流管道
有人能建议我如何改进代码以使其符合要求吗?
我猜那个声纳不知道水流。toList()(在Java 16中引入),并认为这是一个非终端操作。这似乎是bug SONAR-3746(另请参阅Stream#toList(JDK 16)未被识别为终端操作员)。该问题应在Sonarint 7.2中解决。
我想,这意味着您需要SonarQube 9或更高版本,因为SonarQube 9.0是宣布支持Java 16的第一个版本,SonarQube 9.1提到为Java 16添加新规则。然而,我不太熟悉Sonarint和SonarQube更新是如何以这种方式交互的。
作为一种解决方法,您可以将toList()
替换为收集(Collectors.toList())
。
我使用了一种基于流的方法来映射并减少我的
hm包含员工的姓名和年龄。如何找到所有员工的姓名 我试过这样做 任何人都可以纠正我吗?
你好,我正在使用以下函数将数据集中的所有分类值转换为数字,但我想将其转换为使用OneHotEncoder,如何做到这一点? 谢谢
问题内容: 我有很多实现此接口的枚举: 一个典型的例子是: 可以想象,这些方法在CodableEnum的所有实现中实际上是相同的。我想消除这种重复,但坦率地说不知道如何做。我尝试使用如下类: 但这实际上是没有用的,因为: 枚举不能扩展类 枚举的元素(SKYPE,GOOGLE_TALK等)无法扩展类 我无法提供getByCode()的默认实现,因为DefaultCodableEnum本身不是枚举。我
我这么叫它: 我有什么方法可以重构我的方法,以便我可以像这样调用它(只有1λ):
背景:我写了一个简单的spark结构化蒸app,把数据从Kafka搬到S3。我发现,为了支持一次准确的保证,spark创建了_spark_metadata文件夹,但该文件夹最终变得太大,当流应用程序运行很长时间时,元数据文件夹变得太大,以至于我们开始出现OOM错误。我想摆脱Spark结构化流的元数据和检查点文件夹,自己管理偏移量。 我们如何管理Spark Streaming中的偏移量:我使用了va