suer TIL

Javas

JAVA
2024-04-07 2024-04-07
eye catch

【Java】System.console()でコンソールから入力を受け取る

プロンプトを表示して入力を受け取る Javaでコンソールから入力を受け取るにはSystem.console()を使う。 (JDK 1.6以降) import java.io.Console; public class Main { public static void main(String[] args) { Console console = System.console(); String input = console.readLine("input: "); System.out.println(input); } } readLineメソッドの引数にプロンプトを指定すると、そのプロンプトが表示されて入力待ちになる。 入力された文字列はString型で返される。
JAVA
2024-04-07 2024-04-07
eye catch

【Java】BigDecimalの文字列化で指数表記(E)になるのを避ける(toPlainString)

BigDecimalをtoStringすると指数表記に場合がある BigDecimalをtoStringすると指数表記になる場合がある。 BigDecimal b = new BigDecimal("0.00000000012345"); String value = b.toString(); System.out.println(value); // 1.2345E-10 上記プログラムでは0.00000000012345を文字列としてBigDecimalに渡しているが、toString()で文字列化すると1.2345E-10という指数表記になっている。
JAVA
2023-12-19 2023-12-19
eye catch

【Java】spotbugs-maven-pluginで検出されるFindBugsの一部のルールを無視する

バージョン spotbugs-maven-plugin 4.7.3.5 pom.xml の設定 configurationタグにexcludeFilterFileタグを追加し、無視するルールを指定するXMLファイルを指定する。 以下ではfindbugs.xmlというファイルを指定している。
JAVA
2023-09-09 2023-09-09
eye catch

【Java】JD-GUIでスタンドアロンでjarごとclassをデコンパイルする

バージョン JD-GUI 1.6.6 ダウンロード Java Decompiler からJD-GUIのjd-gui-バージョン-min.jarをダウンロードする。 JD-GUIを起動 以下のコマンドで起動する。 $ java -jar jd-gui-バージョン-min.jar 実行例 見たいjarを開くと、jar内のclassが表示される。
JAVA
2023-08-27 2023-08-28
eye catch

【Java】Mockitoでモックメソッドの引数を一部だけanyにする

一部だけをany系のメソッドにする方法 ArgumentMatchersクラスのeqメソッドを使うと、引数の値を指定できる。 public class AppTest { @Test public void tesFoo() { App app = spy(new App()); doReturn("").when(app).foo(anyString(), eq(1)); // 1を指定したい場合は eq(1) にする String result = app.foo("a", 1); assertThat(result, is("")); } } Mockitoでのモックメソッド MockitoではdoReturn(戻り値).when(モックオブジェクト).メソッド名(引数)でモックメソッドを作成する。
JAVA
2023-08-13 2023-08-13
eye catch

【Java】1文でMapを初期化する Map.of(), Map.ofEntries()

Javaのバージョン Java9以降。 immutableなMapを1文でMapを初期化する Map.ofまたはMap.ofEntriesを使用する。 Map<String, String> map = Map.of( "key1", "value1", "key2", "value2", "key3", "value3" ); Map<String, String> map = Map.ofEntries( Map.entry("key1", "value1"), Map.entry("key2", "value2"), Map.entry("key3", "value3") ); entryメソッドをstatic importすれば以下のように記述できる。
JAVA
2023-08-06 2023-08-06
eye catch

【Java】ExecutorServiceで最大スレッド数を指定して並行実行する

ExecutorService ExecutorServiceはスレッドを管理するクラス。 マルチスレッドで並行処理をしたい場合、無制限にスレッドがCPUを専有することを防ぐために、 キューなどを使って最大スレッド数を制限する必要がある。 ExecutorServiceを使うと、自分で実装しなくても最大スレッド数を制限した並行処理を簡単に実現できる。
JAVA
2023-07-29 2023-07-30
eye catch

IntelliJ IDEA で複数の Maven プロジェクトを1つのウインドウで開く手順

IntelliJ IDEAで複数プロジェクトを一度に開きたい モジュール化してMavenプロジェクトを複数作っているときに、それぞれのプロジェクトごとにIntelliJ IDEAのウインドウを開くのは面倒となる。 1つのウインドウで開かないと別モジュールのコードにジャンプできない。
JAVA
2022-10-04 2022-10-04
eye catch

【Java】Files.list()の戻り値Stream<Path>はclose()が必要

java.nio.Files.list(Path)でリストアップしたらクローズしないといけない java.nio.Files.list(Path)で指定したディレクトリ直下のファイルのパス一覧をStream<Path>型で取得できる Stream<Path> paths = Files.list(Paths.get("/path/to/directory")); このメソッドの戻り値をcloseしないとToo many open filesでエラーが発生するようになる。 java.nio.Files.list(Path)の戻り値をcloseする Stream<T>インタフェースの親インタフェースBaseStream<T>は、さらに親がAutoClosableインタフェースなので try-with-resoucesで確実に閉じることができる。
JAVA
2022-08-21 2022-08-21
AUTHOR
author image
suer
ふつうのプログラマ
LATESTS
eye catch
【VSCode】vscodevimがCopilot Next Edit Suggestions(NES)のキー入力を邪魔する問題を解決する
VSCODE
2025-02-23 2025-02-23
eye catch
【Docker】docker-composeでホスト名を指定して立ち上げる
LINUX
2025-02-02 2025-02-02
eye catch
【Terraform】removedブロックでリソースを破棄せずにtfstateからのみ削除する
TERRAFORM
2025-01-20 2025-01-20
eye catch
【Terraform】import ブロックで既存リソースを取り込む
TERRAFORM
2025-01-18 2025-01-19
eye catch
【Terraform】terraform_remote_stateでtfstateを分割する
TERRAFORM
2025-01-13 2025-01-13
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer