最新記事一覧
-
【Java】変数宣言は抽象型で行うべき?
Javaで変数を宣言するとき、次のような書き方で迷った経験はありませんか? // 実装クラスで宣言 ArrayList<String> list = new ArrayList<>(); // 抽象型(インタフェースなど)で宣言 List<String> list = new ArrayList<>(); ... -
【Java】匿名クラスはラムダで代用?
Java 8以降に導入されたラムダ式により、匿名クラスを使っていたコードは、より簡潔で読みやすく記述できるようになりました。特に、関数型インターフェースを使う場面では、ラムダ式が非常に強力な選択肢となります。 しかし、「すべて匿名クラスをラムダ... -
【Java】EnumMapを使うべき理由
JavaでMapのキーにenumを使いたいとき、ついHashMapを選んでいませんか? もちろん動作はしますが、その選択が実はパフォーマンスやメモリ効率を大きく損なっている可能性があります。 この記事では、enumをキーに使うときに最適なEnumMapに注目し、そのメ... -
【Java】EnumSetの使い方と活用ポイント
Javaで複数の状態や権限を表す場面では、enumを組み合わせて管理することがよくあります。たとえば「読み取り・書き込み・実行」といったファイルの権限や、画面のステップ状態などがその例です。 このような場合、ListやHashSetでEnum定数を管理していま... -
【Java】文字化けを防ぐ方法
Javaで開発をしていると、文字化けに悩まされた経験はありませんか? たとえば、Windows環境で作成したCSVファイルを本番のLinuxサーバーで処理したら、日本語の顧客名が全て「��」に化けてしまった。あるいは、ローカルでは正常に動作していたログ出力機... -
【Java】ファイル操作はPathが最適
Javaでファイルを操作する際、多くの開発者が従来から存在するjava.io.Fileクラスを使ってきました。しかし、Java 7以降では、よりモダンで柔軟なファイル操作を可能にするjava.nio.file.PathとFilesを中心とした「NIO.2」APIが導入されました。 この記事... -
【Java】replaceAllで失敗しない
Javaで文字列を置換する際に多くの開発者が使用するreplaceAll()メソッド。しかし、思い通りに動作しない、予期せぬ結果が返ってくるという経験をした方も多いのではないでしょうか? この記事では、JavaのreplaceAll()を安全に正しく使うための知識と実践... -
【Java】splitの落とし穴と対策
Javaで文字列を扱う中で、最もよく使われるメソッドの一つが String.split() です。CSVやログデータのパース、簡単なテキスト処理など、多くの場面で活用されています。しかし、実際に使ってみると「思ったように分割されない」「なぜか空文字が出てくる」... -
【Java】matchesの罠と正しい使い方
Javaで文字列の一致判定を行う際に便利なメソッドが String.matches() です。一見シンプルで使いやすそうに見えますが、「思ったようにマッチしない」「部分一致ができない」「例外が出た」など、初学者を中心に多くの開発者がつまずくポイントでもありま... -
【Java】enum比較は「==」で正解!
Javaで enum(列挙型)を使う場面は多く、コードの可読性や保守性を高める便利な機能として広く利用されています。しかし、いざ enum の値を比較しようとしたとき、「== を使うべき?」「equals() の方が安全?」と迷った経験はありませんか? 実は、この...