おそらく、operationInfos コレクションをその中の cityId に従ってグループ化し、cityId が同じ場合はオブジェクトの SurgeryCount を追加して返したいと考えていますが、最初の v1 は null なので、
v1 を実行します。 .setSurgeryCount(v1.getSurgeryCount() v2.getSurgeryCount()); が null ポインタを報告しましたが、記述した場所に問題がありますか?
伊谢尔伦2017-07-03 11:45:35
フィルターでv1
是null
的话,那就说明operationInfos
集合里面是有null
的,因为是要根据OperationCountVO
的cityId
进行分组,那OperationCountVO
一定不为null,建议前面直接加filter
を除外した場合
リーリー
操作中にエラーが報告された可能性がありますCollectors.reducing
中的第一个参数为new OperationCountVO()
,若new
出来的OperationCountVO
对象的surgeryCount
为Integer
类型,不是基本类型的话,所以没有初始化,surgeryCount
就为null
,在做v1.getSurgeryCount() + v2.getSurgeryCount()
オブジェクトの場合、コードはより宣言的なようです...このようなコードを書くのはあまりにも醜いです...はは...または、それを書き出して静的なファイナルとして書いた方が良いです変数なので、どこでも呼び出すことができます)reducing
中的第二个参数BinaryOperator
,最好还是封装到OperationCountVO
SurgeryCount
属性合并的BinaryOperator
,名字就叫surgeryCountMerge
リーリー
に変更できます リーリー
書いてみて、実は質問者さんはちょっと面倒だったかも知れませんが、結局はを返すだけなので、そのままMap
嘛,所以建议不使用groupingBy
,毕竟分组返回结果是一对多这样的结构,不是一对一的结构,那直接使用toMap
をクリックしてください。
リーリー