こんにちわ、みけです。 表題、何言ってるかわかりませんね。 ファイルを読み込んでStream<String>を扱うときに、 try-with-resourcesでStream<String>を宣言しておかないと、 リソースリークがあるかもしれないということです。 具体的には return Files.lines(path, StandardCharsets.UTF_8) .filter(line -> line.startsWith("ERROR") .map(LogText::new) .collect(Collectors.toList()); とやっていると、ファイルの閉じ忘れが発生するので、 try(Stream<String> stream = Files.lines(path, StandardCharsets.UTF_8) { return stream.filter(lin
こんにちは @cero_t です。 今日のテーマは・・・ラピュタ禁止令! バルス! いや違う。ラムダ禁止令、です。 さて、なかなかの滑り出しですが、今日はただのラムダの紹介ではなく、禁止令に主眼を置いて語ります。 このエントリーは、Java Advent Calendar 2013の12/16分の投稿です。 http://www.adventar.org/calendars/145 前日は @sugarlife さんの JDK 8 新機能ダイジェスト (JDK 8 Features) です。 翌日は @setoazusa さんです。 ラムダ禁止令はあり得るのか? 勉強会やその懇親会などで、たびたび「ラムダ禁止令が出るのではないか」が話題に上ることがあります。 「そりゃ禁止する組織もあるでしょうね」というのがお決まりの答えなのですが、ただそれに従うだけでは面白くありませんし、要素技術の発展も
個数と平均と合計、最大、最小を取るのであれば、標準でできます。 IntSummaryStatistics iss = IntStream.of(2, 5, 7) .summaryStatistics(); System.out.printf("%d %d %.1f%n", iss.getCount(), iss.getSum(), iss.getAverage()); ただ、二乗和とかを取ろうと思うと、自分で畳込み処理をする必要があります。 public static class Statistics{ int squared; int total; int count; } Statisticsvs = IntStream.of(2, 5, 7).collect( () -> new Statistics(), (v, i) -> { v.count++; v.total += i; v
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く