Java

スポンサーリンク
Java

Java 逆引き集 | リソース自動クローズ(try-with-resources) — リソース漏れ防止

リソース自動クローズ(try-with-resources) — リソース漏れ防止「使い終わったら必ず閉じる」を、言い忘れなく自動でやってくれる構文が try-with-resources。Java ...
Java

Java 逆引き集 | ロギングの基本(slf4j + Logback 等) — 運用ログ

ロギングの基本(slf4j + Logback 等) — 運用ログアプリケーションの「動作記録」を残すのがロギング。print文でのデバッグから卒業し、slf4j + Logback を使うと、運用に...
Java

Java 逆引き集 | 日付時間API(java.time: LocalDate/LocalDateTime/Duration) — 日時処理

日付時間API(java.time: LocalDate / LocalDateTime / Duration) — 日時処理日時は「正しく扱えるか」で品質が決まります。java.time(Java ...
Java

Java 逆引き集 | 文字列の正規表現(Pattern / Matcher) — テキスト検証

文字列の正規表現(Pattern / Matcher) — テキスト検証正規表現は「文字列がルールに合っているか」「欲しい部分だけ抜き出す」ための強力な道具。Javaでは java.util.rege...
Java

Java 逆引き集 | 型推論(var) — ローカル変数の簡潔化(Java 10+)

型推論(var) — ローカル変数の簡潔化(Java 10+)Java 10から導入された var は、ローカル変数の型をコンパイラに推論させる仕組みです。「型を明示しなくても、右辺から自動的に型が決...
Java

Java 逆引き集 | 可視性とパッケージ設計 — モジュール分離

可視性とパッケージ設計 — モジュール分離Javaでは アクセス修飾子(public / private / protected / default) と パッケージ構造 を組み合わせることで、コード...
Java

Java 逆引き集 | ワイルドカード(? extends / ? super) — API 汎用性

ワイルドカード(? extends / ? super) — API 汎用性Javaのジェネリクスには ワイルドカード という仕組みがあります。「型を柔軟に受け取る」ための記法で、APIの汎用性を高め...
Java

Java 逆引き集 | ジェネリクス基礎(型パラメータ) — 型安全なコレクション

ジェネリクス基礎(型パラメータ) — 型安全なコレクションJavaの ジェネリクス(Generics) は「型をパラメータ化」する仕組みです。コレクション(List, Map, Setなど)を使うとき...
Java

Java 逆引き集 | アノテーションの基礎(@Override 等) — メタ情報

アノテーションの基礎(@Override 等) — メタ情報Javaの アノテーション は「コードに付けるメタ情報(補足情報)」です。コンパイラやフレームワークに「この要素はこう扱ってほしい」と伝える...
Java

Java 逆引き集 | Enum の使い方(プロパティとメソッド) — 定数管理

Enum の使い方(プロパティとメソッド) — 定数管理「限られた選択肢」を型として安全に扱うのが enum。単なる定数集ではなく、プロパティやメソッドを持てる“小さなクラス”です。業務コードの「状態...
Java

Java 逆引き集 | 内部クラス(static / 非static / 匿名) — 小さなヘルパー実装

内部クラス(static / 非static / 匿名) — 小さなヘルパー実装Javaではクラスの中にさらにクラスを定義できます。これを 内部クラス(nested class) と呼びます。「外部ク...
Java

Java 逆引き集 | 抽象クラス vs インターフェース — API 設計の選択

抽象クラス vs インターフェース — API 設計の選択「共通の型をどう表すか」を決めるのが抽象クラスとインターフェース。どちらも“契約”を提供しますが、設計の狙いが少し違います。初心者でも迷わない...
Java

Java 逆引き集 | 継承とポリモーフィズム — 拡張性のある設計

継承とポリモーフィズム — 拡張性のある設計Javaのオブジェクト指向の柱が 継承 と ポリモーフィズム(多態性)。「共通部分を親にまとめる」「違いは子で表現する」ことで、拡張性と保守性が高まります。...
Java

Java 逆引き集 | クラス設計の基本(単一責任) — 保守性を高める

クラス設計の基本(単一責任) — 保守性を高める「クラスは、変わる理由を一つだけ持つ。」単一責任の原則は、この一文に尽きます。役割を一つに絞ると、変更の影響が限定され、読みやすくテストもしやすいコード...
Java

Java 逆引き集 | アクセス修飾子(public/private/protected/default) — カプセル化

アクセス修飾子(public / private / protected / default) — カプセル化Javaの アクセス修飾子 は「どこからそのクラスやメンバにアクセスできるか」を制御する仕...
Java

Java 逆引き集 | final の使い方(変数・クラス・メソッド) — 不変性確保

final の使い方(変数・クラス・メソッド) — 不変性確保Javaの final は「これ以上変更できない」という意味を持ちます。対象が 変数 か クラス か メソッド かによって効果が変わります...
Java

Java 逆引き集 | static とインスタンスの違い — 状態管理

Static とインスタンスの違い — 状態管理「static はクラスに属する」「インスタンスはオブジェクトに属する」。この一言が本質です。どの状態を“全体共有”にするか、“個別”にするかで、設計の...
Java

Java 逆引き集 | インスタンス生成(new)とファクトリパターンの基礎 — オブジェクト管理

インスタンス生成の基本(new)Javaでオブジェクトを作る最も基本的な方法は new。コンストラクタを呼び、必要な初期化を済ませて“使える状態”のインスタンスを得ます。class User { pr...
Java

Java 逆引き集 | 可変引数メソッド(…) — 汎用ユーティリティ

可変引数メソッド(...) — 汎用ユーティリティJavaでは、メソッドの引数の数が決まっていない場合に 可変長引数(varargs) を使えます。これにより「0個以上の引数」を柔軟に受け取ることがで...
Java

Java 逆引き集 | forEach とラムダの基本(簡単な処理) — 可読性向上

forEach とラムダの基本 — 可読性向上ラムダは「短く書ける無名の関数」、forEachは「コレクションの各要素に処理を当てる」ためのメソッドです。従来の for 文より読みやすく、意図が伝わり...
Java

Java 逆引き集 | List / Map / Set の基本概念(インターフェース) — データ構造選択

List / Map / Set の基本概念(インターフェース) — データ構造選択Javaのコレクションフレームワークには「データをどう扱うか」を決める基本インターフェースが用意されています。代表的...
Java

Java 逆引き集 | 配列(一次元・多次元) — 固定長データ処理

配列(一次元・多次元) — 固定長データ処理Javaの配列は「同じ型のデータをまとめて扱う箱」。サイズは固定で、宣言時に決めた長さを変えることはできません。一次元配列は「横一列」、多次元配列は「表や行...
Java

Java 逆引き集 | StringBuilder / StringBuffer — 文字列連結の効率化

StringBuilder / StringBuffer — 文字列連結の効率化文字列を何度も結合・加工する処理では、Stringの「不変性」が足かせになりがちです。StringBuilder と S...
Java

Java 逆引き集 | String 操作(concat, substring, format) — 表示・ログ処理

String 操作(concat, substring, format) — 表示・ログ処理文字列は「表示」「ログ」「メッセージ生成」で毎日のように使います。Javaの代表的な操作である concat...
Java

Java 逆引き集 | null/Optional の使い分け — NPE 回避、意図の明示

null/Optional の使い分け — NPE 回避、意図の明示Javaでよくあるバグの一つが NullPointerException (NPE)。「変数が null なのにメソッドを呼んでしま...
Java

Java 逆引き集 | カスタム例外の作り方 — 明確なエラー伝搬

カスタム例外の作り方 — 明確なエラー伝搬「何が問題か」を正確に伝えるのが例外の役割。標準例外だけでは業務の意図が伝わりにくい場面で、カスタム例外が活躍します。APIレイヤでは、呼び出し側が“何をどう...
Java

Java 逆引き集 | 例外処理(try / catch / finally) — 安定性と後始末

例外処理(try / catch / finally) — 安定性と後始末プログラムは「想定外のエラー」に出会うことがあります。ファイルが見つからない、数値が不正、ネットワークが切れる…。こうしたとき...
Java

Java 逆引き集 | 戻り値(参照/プリミティブ) — API レイヤ設計

戻り値(参照/プリミティブ) — API レイヤ設計メソッドは「処理の結果」を返すことができます。この結果を 戻り値 と呼びます。戻り値には プリミティブ型(int, double, boolean ...
Java

Java 逆引き集 | メソッド定義と引数(可変長引数) — 再利用可能ロジック

メソッド定義と引数(可変長引数) — 再利用可能ロジックプログラムを整理して「同じ処理を何度も使えるようにする」のが メソッド。引数は「外から渡す材料」。可変長引数は「材料の数が決まっていないとき」に...
Java

Java 逆引き集 | ループ(for / enhanced for / while) — 集合処理とレコードループ

ループ(for / enhanced for / while) — 集合処理とレコードループ同じ処理を繰り返すとき、Javaでは主に for、enhanced for(拡張 for)、while を使...
Java

Java 逆引き集 | 条件分岐(if / switch) — ビジネスロジックの分岐

条件分岐(if / switch) — ビジネスロジックの分岐プログラムは「状況に応じて処理を変える」ことが多いです。Javaでは代表的に if文 と switch文 を使います。初心者向けに「どんな...
Java

Java 逆引き集 | 型変換(キャスト、ボクシング/アンボクシング) — データ受け渡し時

型変換の概要(キャスト/ボクシング/アンボクシング)異なる型どうしでデータを受け渡すとき、Javaは「キャスト(型変換)」で数値型を変えたり、「ボクシング/アンボクシング」でプリミティブ型とラッパー型...
Java

Java 逆引き集 | 変数宣言(プリミティブ/参照型) — 型選びと初期化

変数宣言の基本Javaの変数は「型 名称 = 初期値;」の形で宣言します。型は“何を入れる箱か”を決めるもの。プリミティブ型は値そのものを、参照型は“モノが置いてある場所(アドレス)”を持ちます。//...
Java

Java | 「配列+ArrayList+多次元配列+toString / deepToString」総合バグ修正問題集

では今回は、「配列+ArrayList+多次元配列+toString / deepToString」総合バグ修正問題集(50問)」 を紹介します。初心者~中級者向けに、「間違いを見つけて修正する形式」...
Java

Java | 多次元配列+ArrayList:バグ修正問題集

では今回は、「多次元配列+ArrayList版のバグ修正問題」20問 を紹介します。配列と ArrayList を混ぜた問題で、初心者〜中級者向けに 間違いを見つけて修正する形式 にしています。問題 ...
Java

Java | Java初心者向け 配列操作 総まとめ教材

では、Java初心者向け「配列操作 総まとめ教材」 を作ります。対象は これから配列を学ぶ人 で、1次元・2次元・多次元・ArrayList・表示方法・よくある間違い を全部まとめた教材です。例題・図...
Java

Java | 配列と List の複雑ネストをまとめた ASCII 図+出力例付きの一覧

では、配列と List の複雑ネストをまとめた ASCII 図+出力例付きの一覧を作ります。これで「多次元・ネスト構造での println / toString / deepToString の挙動」...
Java

Java | フォールスルーのある switch を戦略パターンで安全に置き換える 練習問題

「フォールスルーのある switch を戦略パターンで安全に置き換える練習問題集」を用意しました。複数条件をまとめたいケースを題材にして、switch文のフォールスルーを戦略パターンへリファクタリング...
Java

Java | switch文リファクタ手法の比較

では「switch → 戦略パターン → enum+戦略 → Map+ラムダ」の流れを整理して、どの場面でどの手法を選ぶべきかを比較表にまとめますね。switch文リファクタ手法の比較手法特徴メリット...
Java

Java | switch文を戦略パターンにリファクタリングする練習問題

「switch文を戦略パターンにリファクタリングする練習問題」をいくつか用意しました。実務でありがちなケースを題材にしています。練習問題1:注文ステータス管理元コード(switch)switch (s...
Java

Java | フォールスルーを使わないで同じ挙動を実現するリファクタ例(戦略パターンなど)

「フォールスルーを使って複数条件をまとめる」代わりに、戦略パターン(Strategy Pattern)などの設計パターンを使うと、より柔軟で保守性の高いコードになります。戦略パターンでのリファクタ例元...
Java

Java | switch文のデバッグでフォールスルーを見つける方法

「switch文のデバッグでフォールスルーを見つける方法」ですね。実務でよくハマるポイントなので、整理してコツをまとめます。フォールスルーとは?breakを書き忘れると次のcaseまで処理が流れる現象...
Java

Java | 実務で使う switch 文のテンプレート集(例外・ログ対応つき)

「実務で使える switch 文のテンプレート集」を、例外処理やログ出力を組み込んだ形でまとめてみます。業務コードでは「ただ分岐する」だけでなく、異常系の扱いやログ記録が重要になるので、それを意識した...
Java

Java | if文・switch文の書き換えトレーニング

if文で書いた処理をswitch文に書き換える」ことで、条件分岐の理解が深まります。ここではトレーニング用の例題をいくつか用意して、if文 → switch文の変換を見ていきましょう。例題1:曜日表示...
Java

Java | 例外階層 × ロギング設計ベストプラクティス

では以下に、「例外階層 × ロギング設計ベストプラクティス」〜例外種別に応じたログレベル設計・運用テンプレート〜を、実務教材スタイル(クラス構造+設計思想+コード表+運用方針表) でまとめます。1. ...
Java

Java | 例外階層の設計テンプレート(アプリ全体で統一する例外方針)

「例外階層の設計テンプレート(アプリ全体で統一する例外方針)」は、チーム開発や長期運用の現場で必須の“例外ポリシー設計”です。ここでは、アプリ全体で共通化する例外階層図分類ルール(業務/システム/基盤...
Java

Java | 例外と早期returnの組み合わせテンプレート

「例外と早期 return の組み合わせテンプレート(業務クラス構造つき)」は、実務で“安全で読みやすくメンテしやすい”コードを書くための基本骨格です。ここでは、3層構造(Controller/Ser...
Java

Java | 三次元版ライフゲーム(セルオートマトン)

三次元版ライフゲーム(セルオートマトン)の例題「ライフゲーム」は二次元の格子でよく知られていますが、三次元に拡張すると「立方体の中で細胞が生きたり死んだりする」シミュレーションになります。初心者向けに...
Java

Java | 早期 return のベストパターン集

「早期 return のベストパターン集(実務例5選)」は、**「ネストを浅くして読みやすく、安全にする」**ための超重要テクニックです。初心者でも実務で即使えるように、👀 図解(ASCII)+ 💻 ...
Java

Java | 安全設計ベストプラクティス:returnで抜ける vs 例外を投げる

実務では「return で抜けるべきか」「throw(例外)で止めるべきか」は非常に重要な設計判断ポイントです。ここでは、安全設計ベストプラクティスとして、初心者でも理解できるように図+コード+判断基...
Java

Java | 実務対応版:「安全なリトライ処理テンプレート集(ログ+例外対応)」

これは「break を使ったループ制御+安全設計」を実務テンプレート化したものです。Java+SLF4J/Spring Boot想定で、そのまま業務コードに組み込みやすい形にしてあります。すべて 例外...
Java

Java | 実務でよく使う for → Stream 書き換え10パターン

ここでは、実務でよく使う「for文 → Stream API」書き換え10パターンを、初心者でも理解できるように、「for文(Before) → Stream(After)」形式でコード付きにまとめま...
Java

Java | 「Stream構文早見表(map/filter/groupingBy/sorted)」図解版

ここでは、Stream API の主要構文(map / filter / sorted / groupingBy など)を図解で理解できる早見表を作ります。「操作の意味」「処理の流れ」「例」を視覚的に...
Java

Java | Stream API 安全設計ベストプラクティス(例外・ログ対応)

ここでは、実務で使う Stream API の安全設計ベストプラクティスをまとめます。特に、例外処理・ログ出力・副作用回避・大規模データ対応にフォーカスしています。1️⃣ 基本ルール:副作用は極力避け...
Java

Java | for文 vs Stream API + 実務パターン集(図解ビジュアル版)

「for文フロー + Streamフロー + 実務パターン集」を 矢印・アイコン・カラー付きで一目で理解できる形 にします。┌───────────────┐│ データ入力 ││ List<Emplo...
Java

Java | 拡張 for 文 vs Stream API の処理フロー横並び比較図

では、「拡張 for 文 vs Stream API の処理フロー横並び比較図」 を作ります。これで どの処理がどこで行われているかを一目で理解できる教材 にします。例題:社員リストから「年齢 ≥ 2...
Java

Java | Stream API パイプライン図解

では、「filter → map → sorted → groupingBy」の一連パイプラインを図解で直感理解」できる教材を作ります。例題:社員リストを加工して部署ごとに名前を並び替え集計する入力デ...
Java

Java | 同じ処理を拡張 for 文と Stream API 両方で比較する図解

ここでは 「拡張 for 文」と 「Stream API」 で同じ処理を行った場合の流れを図解で比較します。初心者でも「どっちが何をしているか」を直感的に理解できるようにしました。例題:社員リストから...
Java

Java | for文 vs Stream API の比較+よく使うパターン集

では、これまで作った for文 vs Stream API の比較フロー と 実務でよく使う Stream API パターン集 を統合して、「現場でよくある処理例をすべて1枚で見れる初心者向け教材」 ...
Java

Java | 実務でよく使う Stream API パターン(filter/map/sorted/groupingBy)

では、実務でよく使う Stream API のパターン(filter / map / sorted / groupingBy / collect など)をまとめた1枚図 を作ります。初心者でも現場コー...
スポンサーリンク