私は既存のコードを持っていると私はJava8が提供するストリームに変換するために探していますストリーム私はそれを書くかもしれない方法があるヘルプ学習のJava 8は
答えて
ため、この
感謝を達成するために
return Details.stream()
.filter(p -> null != p)
.map(Person::getPersonChild)
.filter(pc -> null != pc)
.anyMatch(pc -> pc.isABCEDF());
ここで、isABCDEF
はすべての条件をチェックします。
方法は
を追加することはできませんまたはあなたはそれがチェックされているものをよりよく説明し、このメソッドを追加することができていません。
.anyMatch(pc -> isABCEDF(pc));
あなたは@WanderNautaが指摘するように、あなたはこれが明確であると感じた場合、あなたもnullチェックのため.filter(Objects::nonNull)
を使用することができます
.anyMatch(c -> c.isAB() || c.isBC() || c.isCD() || c.idDE() || c.isEF());
を示唆したものを行うことができます方法を追加しない場合。
または最後の 'filter'を' anyMatch': 'Details.stream()。filter(Objects :: nonNull).map(Person :: getPersonChild).anyMatch(PC - >ヌル!= PC && PC)と融合させます。 isABCEDF()) ' – Holger
modList.stream()。(詳細 - >ヌルをフィルタリングする!=詳細&&ヌル!= details.getPersonChild()) \t \t \t \t \t \tの.map(人:: getPersonChild) \t \t \t \t \t \t .anyMatch((Child :: isAB || Child :: isBC || Child :: isCD || Child.isDE || Child :: isEF)); --- >> Child :: isAB || ....と書くとエラーになるそれは機能的なインターフェイスであると言います – Hali
正確なエラーです。この式のターゲットタイプは、anyMatch((Child :: isAB || Child :: isBC || Child :: isCD || Childの下の機能的なインターフェイスと赤い線でなければなりません。 isDE ||子:: isEF)); – Hali
他の解決策は以下のとおりです。
((Predicate<String>) Child::isAB).or(Child::isBC).or(Child::isDE).or(Child::isEF)
- 1. 学習Java、同期キーワード
- 2. Javaの学習のアドバイス
- 3. 機械学習のJavaライブラリ
- 4. Javaマルチスレッドの学習ソース
- 5. Node.js学習ガイドまたは学習プラン
- 6. TensorFlowエスティメーターでの学習/再学習
- 7. は学習リンクリスト
- 8. のJavaジェネリック私の学習書で
- 9. Java/JVMベースのアプリケーションでモデルを学習して機械学習する方法
- 10. Java仮想マシンの学習するソース
- 11. JavaとXmlの基本と学習
- 12. 学習GridView
- 13. 深い学習と機械学習
- 14. RNNシーケンス学習
- 15. javaユーザー入力メニューでは、まだ学校でJavaを学習している
- 16. Java EEロードマップと学習教材
- 17. Java 'Int'と 'Double'を学習する
- 18. Subversionの学習
- 19. スパークストリーミングの学習
- 20. グラフィカルレイアウトアルゴリズムの学習
- 21. エンティティフレームワークの学習
- 22. クリス・パインプログラムルビー8章学習:あなたの配列をアルファベット順に
- 23. 教師あり学習、(ii)教師なし学習、(iii)補強学習
- 24. 機械学習で学習曲線とは何ですか?
- 25. Tensorflow学習の違いは
- 26. Python - 機械学習
- 27. JavaScriptのエラーは、私はJavaスクリプトを学習しています
- 28. アセンブリとIDAの学習
- 29. 学習イベント
- 30. sklearnパーセプトロン学習
は、私には罰金になります。私たちは、
Predicate.or
メソッドを使用して、ここでいくつかのPredicates
組み合わせている。なぜあなたは 'getName'をチェックしますが、' getPersonChild'を参照するのはなぜ、それが 'null'かどうかをチェックしないのですか? –
'isABCDEF()'メソッドを追加できますか? –
はいごめんなさい...悪い... PersonChildのnullチェックがありました – Hali