-
【Java】EnumSetの使い方と活用ポイント
はじめに:複数のEnum、どう扱っていますか? Javaで複数のEnum定数を扱う必要があるとき、HashSetやListで管理していませんか?たとえば、ファイルの権限や状態を複数持つ場面では、Enumを集合として扱うのが一般的です。 しかし、パフォーマンスや安全性... -
【Java】catchしてはいけない例外7選
Javaの開発現場では、エラーハンドリングの品質がソフトウェアの安定性と保守性を大きく左右します。しかし、try-catch文を安易に使ってしまうことで、本来気づくべきバグを隠してしまうことがあります。本記事では、Javaでcatchしてはいけない例外(Excep... -
【Java】文字化けを防ぐ方法
Javaで開発していると、文字化けや環境による動作の違いに悩まされたことはありませんか?特に、Windowsでは正常に動くのに、Linuxにデプロイしたら文字が崩れる──そんな経験をお持ちの方は多いはずです。 その原因の多くは、「デフォルトのシステムエンコ... -
【Java】ファイル操作はPathが最適
Javaでファイル操作を行う方法には、古くからあるjava.io.Fileと、Java 7以降に登場したjava.nio.file.Pathを中心としたNIO.2のAPIがあります。本記事では、それぞれの違いを明確にしながら、「今なぜPathを使うべきなのか?」を解説します。 なぜいまPath... -
【Java】replaceAllで失敗しない
Javaで文字列を置換する際に多くの開発者が使用するreplaceAll()メソッド。しかし、思い通りに動作しない、予期せぬ結果が返ってくるという経験をした方も多いのではないでしょうか?この記事では、JavaのreplaceAll()を安全に正しく使うための知識と実践... -
【Java】splitの落とし穴と対策
はじめに Javaで文字列を扱う中で、最もよく使われるメソッドの一つが String.split() です。CSVやログデータのパース、簡単なテキスト処理など、多くの場面で活用されています。しかし、実際に使ってみると「思ったように分割されない」「なぜか空文字が... -
【Java】matchesの罠と正しい使い方
はじめに Javaで文字列の一致判定を行う際に便利なメソッドが String.matches() です。一見シンプルで使いやすそうに見えますが、「思ったようにマッチしない」「部分一致ができない」「例外が出た」など、初学者を中心に多くの開発者がつまずくポイントで... -
【Java】enum比較は「==」で正解!
はじめに Javaで enum(列挙型)を使う場面は多く、コードの可読性や保守性を高める便利な機能として広く利用されています。しかし、いざ enum の値を比較しようとしたとき、「== を使うべき?」「equals() の方が安全?」と迷った経験はありませんか? 実... -
【Java】UTF-8を扱う正しい方法
はじめに Javaで文字列をバイト配列に変換する際、多くの開発者が一度は「getBytes("UTF-8") と書いていいのか?」と疑問に思ったことがあるのではないでしょうか。特に、UnsupportedEncodingException に悩まされた経験を持つ方も多いはずです。 結論から... -
【Java】数値リテラルのL・F・D徹底解説
はじめに Javaで数値リテラルを扱っているときに、「最後に L や F を付ける必要がある」と言われたことはありませんか?しかも、l(小文字エル)と 1(数字の1)が似ていて読みづらい、あるいは F を付けないとエラーになるなど、細かいルールに戸惑う初...
12