• Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド

学習と現場をつなぐ

ポンコツPdMの開発メモ

お問い合わせはこちら
  • Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド
  • Java
    Javaに関するテーマ
  • Spring
    特にSpringについてはこちら
  • 開発現場メモ
    開発に関するノウハウやメモ
JavaのListにおける浅いコピーと深いコピーを解説する記事のアイキャッチ。

実装・エラー解決

2026/10/6

JavaでListをコピーしても元データが変わる理由|浅いコピーと深いコピー

AIによる要約new ArrayList(original)で新しいList本体は作れますが、要素オブジェクトは元Listと同じ参照です。コピー先の要素を変更すると元データからも変更が見えます。これが浅いコピーです。要素まで独立させるには、コピーコンストラクタ、recordなどの不変オブジェクト、明示的な変換を使います。List.copyOfはListの変更を禁止しますが、要素を深くコピーするわけではありません。 画面編集用DTO、取込前のバックアップ、更新前後の比較でListをコピーすることがあります。 ...

既存コードはどこから読む?画面からDBまで1機能を追う手順

学習・成長

2026/9/8

既存コードはどこから読む?画面からDBまで1機能を追う手順

クラスが何百個も並び、上から読んでいるうちに何を調べていたか分からなくなる。そんなときは「問い合わせ一覧を開く」のように、一つの操作から読み始めます。 先に結論 調べる操作と、読み終える条件を決める。最初からすべてのクラスを理解しようとしない。 画面→HTTP→Controller→Service→DBを追う。戻り値が画面へ届く経路も確認する。 入口・入力・出力・未確認を一枚に残す。読んだことと、実行して確かめたことを分ける。 この記事では架空の問い合わせ管理を使い、一つの機能の経路と調査メモの作り方を示 ...

JavaのMap.putの戻り値がnullになる理由と上書き前の値を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

JavaのMap.putの戻り値がnullになる理由|上書き前の値を確認する方法

AIによる要約Map.putは追加した新しい値ではなく、そのキーに以前入っていた値を返します。初回登録なら通常null、同じキーを上書きした場合は上書き前の値です。ただし、null値を許すMapでは、未登録と以前の値がnullだった場合を戻り値だけで区別できません。上書きを禁止したいならcontainsKeyやputIfAbsent、既存時だけ更新するならreplaceなど、意図に合うAPIを選びます。 この記事はXへ投稿したJavaクイズの詳しい解説です。まず問題を解きたい方は、Xの元ポストを開くことが ...

Optional.getでNoSuchElementExceptionになる原因と安全な値の取り出し方を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

Optional.getでNoSuchElementExceptionになる原因|安全な値の取り出し方

AIによる要約Optional.getは値が存在するときだけ使え、emptyならNoSuchElementExceptionです。直前にisPresentを確認すれば動きますが、値の取り出しと分岐が離れると読みづらくなります。必須ならorElseThrowで業務例外へ、既定値ならorElse・orElseGet、変換ならmap、存在時だけ処理するならifPresentを使います。Optionalを使っても、0件を正常・404・業務エラーのどれにするかは仕様として決める必要があります。 Optionalは値 ...

HashSet.addがfalseを返す理由と戻り値で重複判定する方法を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

HashSet.addがfalseを返す理由|戻り値で重複を判定する方法

AIによる要約HashSet.addは、要素が新しく追加されSetの内容が変わった場合にtrue、同じ要素がすでに存在して追加されなかった場合にfalseを返します。重複を検知するだけならcontainsしてからaddする二段階処理ではなく、addの戻り値を使えます。ただし、自作クラスの重複判定はequalsとhashCodeに依存します。入力順を保つならLinkedHashSetも検討します。 この記事はXへ投稿したJavaクイズの詳しい解説です。まず問題を解きたい方は、Xの元ポストを開くことができます ...

JavaでIndexOutOfBoundsExceptionになるListと配列の境界を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

JavaでIndexOutOfBoundsExceptionになる原因|Listと配列の確認ポイント

AIによる要約Listや配列の有効な添字は0から要素数-1までです。sizeやlengthと同じ値を指定すると範囲外になります。固定位置のget、空リストの先頭取得、ループ条件の

仕様確認のチェックリスト|実装前に聞くべきことと質問例

設計・テスト・レビュー

2026/9/8

仕様確認のチェックリスト|実装前に聞くべきことと質問例

「問い合わせに件名を追加してください。必須でお願いします」。入力欄を作れば始められそうでも、下書きの扱いや変更できる人、過去データへの影響が気になることがあります。 先に結論 依頼を利用者の操作に置き換える。誰が、いつ、何をできるかを確かめる。 決まっていることと未決事項を分ける。根拠・決める人・着手への影響を残す。 回答を資料とテストへ反映する。確認待ちの間に進めてよい範囲も相談する。 以下は架空の問い合わせ管理の例です。件名は必須・1〜100文字、状態は「下書き・受付済み・対応中・完了」、利用者は投稿 ...

Javaの配列でequalsがfalseになる理由とArrays.equalsの違いを解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

Javaの配列でequalsがfalseになる理由|Arrays.equalsとの違い

AIによる要約Javaの配列は内容比較用のequalsをオーバーライドしていないため、a.equals(b)は同じ配列オブジェクトかを確認します。要素を順番に比較するならArrays.equals、多次元配列ならArrays.deepEqualsを使います。JUnitでもassertEqualsではなくassertArrayEqualsを選びます。配列をDTOやMapのキーに持たせる場合は、比較だけでなくhashCodeや防御的コピーも検討します。 この記事はXへ投稿したJavaクイズの詳しい解説です。ま ...

LocalDate.parseでDateTimeParseExceptionになる原因と日付形式を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

LocalDate.parseでDateTimeParseExceptionになる原因|日付形式の指定方法

AIによる要約LocalDate.parse(text)は標準でISO形式のyyyy-MM-ddを期待します。2026/08/14や20260814を解析するにはDateTimeFormatterを指定します。形式が合っていても2月30日など存在しない日付はDateTimeParseExceptionです。表示用と入力用のフォーマッター、暦年のuuuuと年のyyyy、厳密な解析、空入力の扱いを分け、外部インターフェースごとに契約を固定します。 画面、CSV、外部APIでは日付の表記が異なります。Javaの ...

JavaのMap.ofにnullを入れるとNullPointerExceptionになる理由を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

JavaのMap.ofにnullを入れると例外になる理由|HashMapとの違い

AIによる要約Map.ofはnullのキーと値を許可しないため、Map作成時点でNullPointerExceptionになります。getを呼んだ時ではありません。また、作成したMapへputやremoveもできません。HashMapはnullを許可しますが、キー未登録と登録済みnullの区別が必要になります。固定データならMap.of、値の追加・変更やnullを扱うなら要件に合う別の表現を選びます。 この記事はXへ投稿したJavaクイズの詳しい解説です。まず問題を解きたい方は、Xの元ポストを開くことがで ...

« Prev 1 … 3 4 5 6 7 … 17 Next »
プロフィール画像

ポンコツPdM

SIerでの開発・プロジェクト運営の経験をもとに、Java・Springの実装、設計・テスト、チーム開発で役立つ手順をまとめています。

    START HERE初めての方へ

    Java・Springの実装、テスト、レビューで迷ったときに。今の課題から記事を探し、次に学ぶことを整理できます。

    成長ロードマップを見る →
    FIND YOUR TOPICよくある困りごと
    • エラー・実装で詰まったとき →
    • 設計・テスト・レビューを学ぶ →
    • 仕事・チーム開発で迷ったら →
    広告
    NEXT BOOKSHELF学習段階ごとの本棚

    いま伸ばしたい力に合わせて、次の1冊を選べます。

    • 01 / 初心者Java・Git・SQLの土台 →
    • 02 / 脱初心者Web機能をひとりで作る →
    • 03 / 実務担当設計・テスト・レビュー →
    • 04 / リーダー候補要件整理・チーム判断 →

    ※当サイトはAmazonアソシエイト・プログラムの参加者です。リンク先で価格・在庫をご確認ください。

    人気記事

    • Springで「NoUniqueBeanDefinitionException」が出たときの対策 - 49,040 ビュー
    • 業務用のシステムにおいてクラス設計(分割)をどのように考えるか-1 - 46,520 ビュー
    • Spring Data Jpaと@Entityを使って複数テーブルで共通の値を親クラスにまとめて... - 42,832 ビュー
    • 免責事項
    • 著作権について
    • 学習ガイド
    • プライバシーポリシー
    • リンクについて

    学習と現場をつなぐ

    ポンコツPdMの開発メモ

    © 2026 ポンコツPdMの開発メモ