我有一系列发票:
class Invoice {
int month;
BigDecimal amount
}
Run Code Online (Sandbox Code Playgroud)
我想合并这些发票,因此我每月收到一张发票,金额是本月发票金额的总和.
例如:
invoice 1 : {month:1,amount:1000}
invoice 2 : {month:1,amount:300}
invoice 3 : {month:2,amount:2000}
Run Code Online (Sandbox Code Playgroud)
输出:
invoice 1 : {month:1,amount:1300}
invoice 2 : {month:2,amount:2000}
Run Code Online (Sandbox Code Playgroud)
我怎么能用java 8流做到这一点?
编辑:因为我的Invoice类是可变的,修改它们不是问题,我选择了Eugene的解决方案
Collection<Invoice> invoices = list.collect(Collectors.toMap(Invoice::getMonth, Function.identity(), (left, right) -> {
left.setAmount(left.getAmount().add(right.getAmount()));
return left;
})).values();
Run Code Online (Sandbox Code Playgroud) 我将 vuejs 与 typescript 和 vue-class-component 一起使用。我正在尝试使用反应数据创建自定义组件。
这是我的代码:
<template>
<div>
<input v-model="data.name" placeholder="Name">
<input v-model="data.value" placeholder="Value">
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
interface Model {
name: string;
value: number;
}
@Component
export default class ClubVue extends Vue {
private data: Model;
public mounted() {
this.data = {...this.$store.getters.data};
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
在第一个版本中,我遇到了这个错误:
属性或方法“数据”未在实例上定义,但在渲染期间被引用
这是正常的,正如在 vue-class-component 页面中所说,未定义的数据不会被反射。我需要将数据初始化为空。此外,我收到此打字稿错误:
属性“数据”没有初始值设定项,并且未在构造函数中明确分配
所以我想这样做:
private data: Model = null;
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个打字稿错误:
类型 'null' 不能分配给类型 'Model'。
我不想将数据类型更改为 ,Model | null因为我必须在任何地方检查数据是否为空,而且我知道数据永远不会为空。
private data!: …Run Code Online (Sandbox Code Playgroud) 我正在使用 vue-test-utils 和 jest。\n我的包装器包含 9 个输入元素,我想获取第三个。\n此解决方案有效:
\n\n wrapper.findAll(\'input\').at(3) // OK\nRun Code Online (Sandbox Code Playgroud)\n\n根据文档(https://vue-test-utils.vuejs.org/api/selectors.html),我应该能够使用CSS伪选择器,但这不起作用:
\n\n wrapper.find(\'input:nth-of-type(3)\') // ErrorWrapper\nRun Code Online (Sandbox Code Playgroud)\n\n使用这种方法,我只能获取第一个输入:
\n\n wrapper.find(\'input:nth-of-type(1)\') // OK\nRun Code Online (Sandbox Code Playgroud)\n\n我是否误用了 CSS 选择器?
\n\n我的包装 HTML 如下所示:
\n\n wrapper.findAll(\'input\').at(3) // OK\nRun Code Online (Sandbox Code Playgroud)\n 我有两个具有完全相同属性的对象.不要问我为什么,这是生成的代码,我必须处理这个.
class Bean1 {
int id;
}
class Bean2 {
int id;
}
Run Code Online (Sandbox Code Playgroud)
我想比较每个类的对象而不编写每个属性的比较代码.这个线程解释了如何比较两个对象,但在我的情况下,这会失败,因为它们不是同一个类的实例.
此代码返回false:
EqualsBuilder.reflectionEquals(new Bean1(1), new Bean2(1));
Run Code Online (Sandbox Code Playgroud)
有没有其他方法来comapre对象和忽略对象类?
我正在尝试制定一个条件来启用命名插槽,如下所示:
<template v-slot:item="{ item }" v-if="item.loading">
<v-progress-circular indeterminate color="primary"></v-progress-circular>
</template>
Run Code Online (Sandbox Code Playgroud)
我的用例是 Vuetify 数据表:每个项目都有一个“正在加载”属性,并且我想仅在加载行时激活“项目”插槽(“项目”插槽是用于替换行的默认渲染的插槽)
错误是item在 中未定义v-if,这似乎是逻辑: item 仅为template子标签定义。
有办法解决这个问题吗?
我想使用带有各种列表的地图作为值:
Map<String, List<Integer>> ml;
Map<String, ?> ml2 = ml; // OK
Map<String, List<?>> ml3 = ml; // Type mismatch
Run Code Online (Sandbox Code Playgroud)
为什么最后一行无效?
我想在我的chart.js图表中使用x轴上的线性刻度.我添加一些代码因为stackoverflow在添加jsfiddle url时必须使用,但我没有看到这一点:
var options={
scales:{
xAxes:[{ type: "linear"}]
}
};
Run Code Online (Sandbox Code Playgroud)
我得到一张非常奇怪的图表(第二张):http://jsfiddle.net/t0krmau8/
在第一张图表中,我希望在2到4之间获得更多空间(2到2倍于1和2之间),这就是我使用线性刻度的原因.
我使用线性刻度错了吗?或者我应该使用其他东西?
谢谢
我正在使用 UI Bootstrap Datepicker 弹出窗口,并且我想使用自定义日期格式。我的休息服务以“dd/MM/yyyy”格式向我发送日期。我想使用这种格式,但在更改模型值时,日期选择器不会更新。我定义了uib-datepicker-popup="dd/MM/yyyy"但似乎不起作用。
笨蛋:https://plnkr.co/edit/SfSXmeL0ue0yef1yTKMO? p=preview
angular.module('ui.bootstrap.demo', ['ngAnimate', 'ngSanitize', 'ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('DatepickerPopupDemoCtrl', function ($scope) {
$scope.today = function() {
$scope.dt = '02/01/2017';
};
$scope.clear = function() {
$scope.dt = null;
};
$scope.dateOptions = {
formatYear: 'yy',
startingDay: 1
};
$scope.open1 = function() {
$scope.popup1.opened = true;
};
$scope.popup1 = {
opened: false
};
});Run Code Online (Sandbox Code Playgroud)
<!doctype html>
<html ng-app="ui.bootstrap.demo">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-animate.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-sanitize.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-2.5.0.js"></script>
<script src="example.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<style>
.full button …Run Code Online (Sandbox Code Playgroud)java ×3
vue.js ×3
javascript ×2
alpha ×1
angularjs ×1
chart.js ×1
css ×1
imagemagick ×1
java-stream ×1
jestjs ×1
reflection ×1
typescript ×1
vuejs2 ×1
vuetify.js ×1