タグ付けされた質問 「peek」

6
Javaストリームでは、デバッグのみを目的としていますか?
私はJavaストリームについて読んでいて、進むにつれて新しいものを発見しています。私が見つけた新しいものの1つはpeek()機能でした。私がピークで読んだほとんどすべては、それをストリームのデバッグに使用する必要があると述べています。 各アカウントにユーザー名、パスワードフィールド、login()メソッドとlogsIn()メソッドが含まれるストリームがある場合はどうなりますか。 私も持っています Consumer<Account> login = account -> account.login(); そして Predicate<Account> loggedIn = account -> account.loggedIn(); なぜこれがそんなに悪いのでしょうか? List<Account> accounts; //assume it's been setup List<Account> loggedInAccount = accounts.stream() .peek(login) .filter(loggedIn) .collect(Collectors.toList()); 今、私が知る限り、これは意図したとおりに動作します。それ; アカウントのリストを取得します 各アカウントへのログインを試みます ログインしていないアカウントを除外します ログインしたアカウントを新しいリストに収集します このようなことの欠点は何ですか?続行しない理由はありますか?最後に、このソリューションでない場合はどうなりますか? これの元のバージョンは、次のように.filter()メソッドを使用しました。 .filter(account -> { account.login(); return account.loggedIn(); })
137 java  java-8  java-stream  peek 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.