Java
文字列をreplaceAllで大文字/小文字化(\u, \l)する方法 そもそもPatternクラスで非対応 Java9以降なら解決策がある 参考 文字列をreplaceAllで大文字/小文字化(\u, \l)する方法 そもそもPatternクラスで非対応 この記事にたどり着かれた方は、以下のように書…
groupingByを普通に書くと 例えば、あるStringのリストがあり、それぞれの個数を数えるケースを考えます。 普通に書くと以下のようになるかと思います。 Map<String, Long> collected = List.of("d", "c", "b", "a", "d", "c", "b", "d", "c", "d") .stream() .collect(Col</string,>…
きっかけ タスクが実行される順序を確認する タスクの依存関係を確認する 出典 きっかけ Mavenではビルドライフサイクルの中で、決められた一連のタスクが頭から流れるため、なんとなく覚えていれば「この操作の前に処理を挟みたければあのタスクだな。」等…
StreamのAPI仕様確認 AutoClosableが必要となるケース java.nio.file.Files list lines jOOQ(ORM) ResultQuery close処理を付与したいなら 最後に 参考・出典 本記事は、JJUGにて登壇したものを、記事向けに加筆修正したものです。 その際の動画・スライドは…
きっかけ 原因 再現 それでも逆順のComparatorがほしい 最後に きっかけ Comparator#reversed() という、Comparatorの逆順を返してくれる便利なメソッドを知り、使おうとしたところ、以下のエラーが出てしまいました。 var list = new ArrayList<>(List.of(2…
2022/10/17 本発表を記事にしました。 beppy.hatenablog.com 2022/08/26の、JJUGナイトセミナー「おうちで!ビール片手にLT大会!」にて、スピーカーを務めました。 動画 スライド 感想 他のスピーカーの方々は、LocalStack(AWS)でのモダンな開発や、Javaの…
発生した問題 解決法 まとめ 参考 発生した問題 Gradleのプロジェクト間にmain <- sub の依存関係があるときに、以下のように書き、libraryをmainでも使用しようとしましたが、読み込めない問題が発生しました dependencies { implementation project(':sub'…
前提 結果がMap int, long, doubleの場合 それ以外の型の場合 結果が元の型のCollection 参考 前提 例えば以下のような、カテゴリとその量が定義されているクラスがあったとします。 public record Obj( String category, int amount ) { } そのリストから、…
なぜ調べたの? 結果 調査方法 最後に なぜ調べたの? 正規表現を使用するコードを書いていたところ、Matcher#results()という、一致結果をStreamで返すメソッドが、Java9から追加されていたことを知りました。 ほかにも便利メソッドがないかどうか気になり…
リファレンスに内部実装の参考が載っていました。 Optional reduce(BinaryOperator accumulator) これは、次の操作に相当します。 boolean foundAny = false; T result = null; for (T element : this stream) { if (!foundAny) { foundAny = true; result =…
例えばメソッドの最後で、以下のように返したいとします。 Optionalがあるとき: 空じゃないよ! Optionalが空の時: 空だよ! 普通に isPresent()で書くとこのようになります。 if (opt.isPresent()) { return "空じゃないよ!"; } return "空だよ!"; 以下の…
※Mac版はこちらです コードの配色をEclipse色に 自動補完の細かい設定 「いい感じにしてくれる機能」のショートカットを覚える 自動補完の大文字小文字を無視する 固有のショートカットを覚える 補完ショートカットの差を知る その他の機能 タブを一括で閉じ…
※Windows版はこちらです コードの配色をEclipse色に 自動補完の細かい設定 自動補完のキーをcommand + spaceへ 「いい感じにしてくれる機能」のショートカットを覚える 自動補完の大文字小文字を無視する 固有のショートカットを覚える 補完ショートカットの…
EclipseだとCtrl(Command) + 2 -> lにてローカル変数の割り当てができますが、同じことをIntelliJで行う方法について記載します。 Windows: Ctrl + Alt + V Mac: Command + Ctrl + V です。 場所によっては、以下のように 、選択行のどこまでを変数として割…
Javaにて、Selenium4.0にバージョンアップを行ったところ、ユーティリティーメソッドを書き換える必要がありました。 driver.findElementByClassName("className"); ↓ driver.findElement(By.className("className")); 以下の正規表現を使用することで、一括…