最新記事一覧
-
【Java】定数と設定値の使い分け方
Javaアプリケーションを開発していると、「この値は定数としてコードに書くべきか? それとも外部の設定ファイルにすべきか?」という場面にたびたび直面します。この判断を誤ると、保守性やパフォーマンスに悪影響を与えかねません。 この記事では、定数... -
【Java】配列とListの使い分け方
Javaで複数のデータを扱うときに登場する代表的な選択肢が「配列(Array)」と「List」です。しかし、どちらを使うべきか迷った経験はないでしょうか?特に初心者の方にとっては、両者の違いや使い分けの基準が曖昧に感じられることも多いはずです。 この... -
ログ出力はプレースホルダー推奨
JavaやKotlinといったJVM系言語で開発を行う際、ログ出力はデバッグや運用時の障害調査に不可欠な要素です。しかし、ログの書き方を誤ると、パフォーマンスの低下や保守性の悪化といった問題を引き起こす可能性があります。 特に注意したいのが、ログメッ... -
【Java】Arrays.streamとStream.ofの違い
Javaで配列を扱う際、「配列をストリーム(Stream)に変換したい」というケースはよくあります。そんなときによく使われるのが Arrays.stream() と Stream.of() の2つのメソッドです。 一見似ているこの2つですが、使い方を誤ると「配列の中身を処理したい... -
【Java】this/superは毎回必要?
Javaで開発をしていると、フィールドやメソッドにアクセスする際に this や super を毎回書くべきかどうか、迷うことはありませんか? この記事では、それぞれの使い方と意味をおさらいしつつ、実務で「いつ使うべきか」「毎回書く必要があるのか」といっ... -
【Java】sunパッケージを使うべき?
Javaの開発中に sun.misc.Unsafe や sun.misc.BASE64Encoder といった sun.* パッケージのクラスを目にしたことはありませんか?これらは一見便利に見えるかもしれませんが、本来は一般の開発者が使用することを想定していない非公開APIです。 一部の古い... -
【Java】日付操作はjava.timeで!
Javaで日付や時間を扱う場面は多く、システム開発では欠かせない要素の一つです。しかし、かつての Date や Calendar は設計が古く、扱いづらさやバグの温床となることもしばしばありました。こうした背景から、Java 8以降で登場したのが java.time パッケ... -
【Java】コレクションの空判定はisEmptyが基本
JavaでCollection(ListやSetなど)の中身が空かどうかを判定する場面は、日常的にあります。そのとき、あなたはisEmpty()を使いますか?それともsize() == 0でしょうか。 この2つは結果としては同じ動作になりますが、可読性、パフォーマンス、そしてコー... -
【Java】インスタンス初期化ブロックは使うべきか?
Javaでオブジェクトの初期化処理を行う方法としては、一般的にフィールド初期化やコンストラクタが使われます。しかし、もう一つの方法として「インスタンス初期化ブロック」と呼ばれる機能が存在します。 この構文は便利な場面もある一方で、使い方を誤る... -
【Java】配列の[]はどこに書くべき?
Javaで配列を宣言するとき、[](角括弧)を型名の後ろに書くべきか、変数名の後ろに書くべきかで迷ったことはありませんか? どちらの書き方も文法的には正しく、コンパイルエラーにはなりません。しかし、可読性や保守性、チーム開発の観点から、明確に推...