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

学習と現場をつなぐ

ポンコツPdMの開発メモ

お問い合わせはこちら
  • Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド
  • Java
    Javaに関するテーマ
  • Spring
    特にSpringについてはこちら
  • 開発現場メモ
    開発に関するノウハウやメモ
SLF4Jでe.getMessageだけを出すとスタックトレースが残らない理由を解説する記事のアイキャッチ。

実装・エラー解決

2026/10/15

SLF4Jでスタックトレースが出ない原因|e.getMessage()と例外の渡し方

AIによる要約e.getMessage()が返すのは例外メッセージのStringだけです。SLF4JへThrowableを渡していないため、発生クラスや行番号を含むスタックトレースは記録されません。log.error("保存失敗", e)またはlog.error("userId={}の保存に失敗", userId, e)のように例外自体を最後の引数へ渡します。ただし、同じ例外を各層で繰り返しERROR記録しないことも重要です。 この記事はXへ投稿したJavaクイズの詳しい解説です。まず問題を解きたい方は、 ...

JavaでNumberFormatExceptionになる空文字やカンマ、全角数字の対処を解説する記事のアイキャッチ。

実装・エラー解決

2026/10/23

JavaのNumberFormatExceptionの原因と対処|空文字・カンマ・桁あふれ

この記事でわかることInteger.parseIntのNumberFormatExceptionは、未入力、整数として読めない文字、intの範囲外を分けて調べます。全角数字「123」はJava 17ではそのまま123に変換できます。この記事では、3桁カンマを許可する数量欄を例に、形式を確認してから変換し、必須・形式・範囲のエラーを分けて返すコードを示します。 画面やCSVから受け取った数量をInteger.parseIntへ渡して失敗したときは、「受け取った文字列」「変換する型」「許可する入力形式」を分け ...

BigDecimal.divideでArithmeticExceptionになる原因と丸め方を解説する記事のアイキャッチ。

実装・エラー解決

2026/10/15

BigDecimal.divideでArithmeticExceptionになる原因|割り切れない計算の丸め方

AIによる要約BigDecimalのdivideは、結果を正確に有限小数で表せない場合、丸め指定なしではArithmeticExceptionを投げます。1÷3のような計算では、業務仕様に基づいてscaleとRoundingModeを明示します。例外を避けるため適当に丸めるのではなく、金額、税率、表示値、DB保存値のどの段階で何桁にするかを決めることが重要です。 この記事はXへ投稿したJavaクイズの詳しい解説です。まず問題を解きたい方は、Xの元ポストを開くことができます。 金額、単価、税率、進捗率などを ...

JavaのisEmptyとisBlankでnull・空文字・空白を判定する違いを解説する記事のアイキャッチ。

実装・エラー解決

2026/10/14

JavaのisEmptyとisBlankの違い|null・空文字・空白の判定方法

AIによる要約isEmptyは文字数が0かを判定し、空白だけの文字列はfalseです。isBlankは空文字または空白文字だけならtrueになります。どちらも呼び出し元がnullならNullPointerExceptionです。画面入力では未送信、空文字、空白だけ、値ありを区別し、必須項目ならisBlank、空文字だけを特別扱いするならisEmptyなど、業務仕様に合わせます。trimとstripは文字列を変換するメソッドで、判定とは役割が異なります。 入力チェックでは『値がない』という言葉をよく使います ...

JavaのString.splitでピリオド分割できない理由を正規表現から解説する記事のアイキャッチ。

実装・エラー解決

2026/10/15

JavaのString.split(".")で分割できない理由|ピリオドを正規表現で扱う方法

AIによる要約String.splitの引数は単なる区切り文字ではなく正規表現です。正規表現のピリオドは任意の1文字を表すため、split(".")では文字列全体が区切りとして扱われます。ピリオドそのもので分割するならsplit("\\.")、区切り文字が変数ならPattern.quoteを使います。また、末尾の空項目を残すには第2引数へ-1を指定します。 この記事はXへ投稿したJavaクイズの詳しい解説です。まず問題を解きたい方は、Xの元ポストを開くことができます。 画面入力、ファイル名、バージョン番号 ...

JavaのIntegerを==で比較すると値によって結果が変わる理由を解説する記事のアイキャッチ。

実装・エラー解決

2026/10/15

JavaのIntegerを==で比較すると結果が変わる理由|equalsとの違い

AIによる要約Integer同士の==は数値ではなく参照を比較します。ただしInteger.valueOfが一定範囲のインスタンスを再利用するため、小さい値ではtrue、大きい値ではfalseとなることがあり、さらに混乱を招きます。数値として同じか確認するならequals、大小比較ならcompareやintValueを使います。Integerがnullの可能性を持つ場合はObjects.equalsや明示的なnull判定を選びます。 Stringの==が参照比較だと知っていても、Integerは数値だから ...

Javaで入力値をSQLへ文字列連結する危険とプレースホルダー対策を解説する記事のアイキャッチ。

実装・エラー解決

2026/10/15

JavaでSQLを文字列連結してはいけない理由|SQLインジェクションと対策

AIによる要約利用者の入力値をSQL文字列へ直接連結すると、引用符を含む名前でSQLが壊れるだけでなく、入力がSQL構造として解釈されるSQLインジェクションの原因になります。値はPreparedStatementやJdbcTemplateの?、NamedParameterJdbcTemplateの名前付きパラメータへ渡し、SQLとデータを分離します。ただしテーブル名やORDER BY列などの識別子はプレースホルダー化できないため、許可リストから選びます。 SQL文字列連結は、コード量が少なく、テストデー ...

同じ文字を持つStringBuilderをequalsで比較してもfalseになる理由を解説する記事のアイキャッチ。

実装・エラー解決

2026/10/15

JavaのStringBuilderでequalsがfalseになる理由|文字列の内容を比較する方法

AIによる要約StringBuilderは内容が同じでもequalsでtrueになりません。StringBuilderはObjectのequalsを内容比較用にオーバーライドしていないため、同じインスタンスかを比較します。内容を比較するならtoStringしてString.equalsを使うか、String側のcontentEqualsへStringBuilderを渡します。StringBuilderは可変なので、Setの重複判定やMapのキーにも向きません。比較する時点で不変なStringへ変換するのが ...

HashMap.getのnullがキー未登録か登録済みnullかをcontainsKeyで見分ける記事のアイキャッチ。

実装・エラー解決

2026/10/15

JavaのHashMapでgetがnullになる原因|containsKeyとの使い分け

AIによる要約HashMapのgetがnullを返すのは、キーが登録されていない場合と、キーに対してnull値が登録されている場合の2通りです。getだけでは区別できないため、区別が必要ならcontainsKeyを使います。getOrDefaultもnull値が登録されている場合はnullを返すため、常に既定値になるわけではありません。可能ならMapへnullを格納せず、未登録・取得失敗・値なしの意味を設計上分けます。 Mapはマスタ値、表示名、集計結果、キャッシュなど幅広く使われます。`get(key) ...

Stream.peekが終端操作なしでは実行されない理由を遅延評価から解説する記事のアイキャッチ。

実装・エラー解決

2026/10/15

JavaのStream.peekが実行されない理由|終端操作と遅延評価

AIによる要約Streamのfilter、map、peekなどは中間操作であり、呼び出した時点では要素処理を開始しません。toList、collect、forEach、countなどの終端操作が実行されて初めて、必要な要素が流れます。そのため終端操作がなければpeekは動かず、findFirstやlimitでは全件分動くとも限りません。peekは主に処理途中の観察へ使い、保存・更新・通知などの重要な副作用を置かないのが安全です。 Streamは、Listの各要素をすぐ加工して結果を保存する仕組みではありま ...

« Prev 1 … 6 7 8 9 10 … 19 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,473 ビュー
    • 業務用のシステムにおいてクラス設計(分割)をどのように考えるか-1 - 46,932 ビュー
    • Spring Data Jpaと@Entityを使って複数テーブルで共通の値を親クラスにまとめて... - 43,226 ビュー
    • 免責事項
    • 著作権について
    • 学習ガイド
    • プライバシーポリシー
    • リンクについて

    学習と現場をつなぐ

    ポンコツPdMの開発メモ

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