StreamAPIの勉強のため色々やり方を探していたら、ふとこの記事が目に入った。
forやifで書くアレをStream APIで書く - Java EE 事始め!
ここで文字列結合をしているコードがあったので、コメントでそのことを指摘してみた。
ただ、それだけではあれなので、自分なりに作ってみた。
それがこれだ。
IntStream.rangeClosed(1, 40) .filter(val -> { if(val % 15 == 0) { System.out.print("FizzBuzz"); System.out.print(","); return false; } return true; }).filter(val -> { if(val % 5 == 0) { System.out.print("Buzz"); System.out.print(","); return false; } return true; }).filter(val -> { if(val % 3 == 0) { System.out.print("Fizz"); System.out.print(","); return false; } return true; }).filter(val -> { System.out.print(val); System.out.print(","); return false; }).count();
な、な、な、なんだこれは―
なんというか、もう…。
いや、やり方としてはこれが正しいはずだと思うのだけど…。
はあ。