我正在尝试将Java循环代码转换为Java8流。我有一个ArrayList
的Row
对象,该对象应将所有DeliveredLengts
对象相加,但不包括与另一个具有相同内容的Row
对象具有相同内容的Row
对象。
Java循环
public int getDeliveredLength() {
List<Row> distinct = new ArrayList<>();
for (Row row : rows) {
if (sameContent(distinct, row)) {
continue;
}
distinct.add(row);
}
int sum = 0;
for (Row row : distinct) {
sum += row.getDeliveredLength();
}
return sum;
}
private boolean sameContent(List<Row> list, Row other) {
for (Row row : list) {
if (other.sameContent(row)) {
return true;
}
}
return false;
}
Java8流代码是什么?
public int getDeliveredLength() {
return rows.stream().filter(??).map(??).mapToInt(Row::getDeliveredLength).sum()
}
为什么要编写一个新方法sameContent
,而不重写equals
方法?使用equals
的优点是标准库中的许多类和方法调用它来比较类的实例。
如果您使用equals
,则可以使用标准的stream.distince()
方法,该方法返回不同值的流。因此您的Java8流表达式变成:
rows.stream().distinct().mapToInt(Row::getDeliveredLength).sum()
我想从选择一个菜单中选择一个自定义对象。它既不显示错误也不显示值。我该怎么办? 我的xhtml文档: 我的管理Bean类:
我不知道以前有没有人问过这个问题。我要给我爸爸建一个计算器。他问我有没有办法用按钮定制。 我还没有完成任何代码。我打算尝试一些东西。我的研究结果一无所获。 这就是我想要实现的,我感觉它打破了android studio的编码法则。这就是概念: 想象一下计算器。数字上方有8个空白按钮。这些按钮通常具有百分比和sqrt等功能。,。。等 有人问我,他是否可以按住按钮,随意改变这些功能。 所以现在的问题是
我想从“选择一个”菜单中选择自定义对象。它既不显示错误也不显示值。怎么办?请帮帮我。提前谢谢。 现在我在getAsObject的这一行看到空指针异常: 这是我的xhtml文档 这是我的管理豆类。 这是我的currencyConverter类代码:
我正在尝试实现两个
我试图用Vuejs 2实现自定义选择组件。如文档中所述,我不应该直接修改值属性,并建议使用事件将选定的数据传递给父组件。当选项值是一个对象时,我遇到了问题,却得到了[Object object]。 这是我的选择组件模板: 这是脚本部分: 这是父组件 选项: 我期待 但得到了[Object object] 我错过了什么吗?
我对dataTable multiple selection with复选框有问题(如第二个复选框:http://primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf). 当我尝试在backingBean中执行一个方法时,所选的项总是具有正确的大小,但具有相同的对象。示例:我在数据表中选择三条消息:消息1、消息2和消息3