Java

 Computer >> コンピューター >  >> プログラミング >> Java
  1. JavaのJacksonライブラリでカスタムシリアライザーを実装する方法

    Jackson APIは、JSONデータを扱うための多彩なメソッドを提供しています。このAPIを利用することで、JavaオブジェクトをJSON文字列へ変換したり、逆にJSON文字列からオブジェクトを復元したりすることが可能です。 標準の変換処理だけでは要件を満たせない場合には、カスタムシリアライザーを実装することで、JSON出力の形式を自由に制御できます。実装にはStdSerializerクラスを継承し、serialize(T value, JsonGenerator gen, SerializerProvider provider)メソッドをオーバーライドします。 各引数の役割は以下のとおり

  2. 【Java】文字列内の各大文字の前にアンダースコアを挿入する方法

    はじめにJavaでは、キャメルケースの文字列(例:「HelloHowAreYouWelcome」)に対して、各大文字の直前にアンダースコア「_」を挿りたい場面があります。本記事では、代表的な2つの実装方法——StringBufferクラスを使う方法と正規表現を使う方法——をサンプルコード付きで解説します。方法1:StringBufferクラスを使用するStringBufferを使って各大文字の前にアンダースコアを追加するには、以下の手順で処理を行います。まず、空のStringBufferオブジェクトを作成します。CharacterクラスのisUpperCase()メソッドは、引数として渡された

  3. Javaでテキストファイル(.txt)内の文字列を削除する方法|replaceAll()の使い方を解説

    replaceAll()メソッドは、正規表現と置換後の文字列を引数として受け取ります。呼び出すと、対象の文字列全体が指定された正規表現と照合され、一致した部分がすべて引数の文字列に置き換えられます。この仕組みを利用すれば、ファイル内の特定の文字列を簡単に削除できます。 replaceAll()メソッドを使ってファイルから特定の文字列を削除する手順は、次の通りです。 ファイルの内容を文字列として読み込む replaceAll()メソッドで、削除したい単語を空文字列に置き換える 置き換え後の文字列を元のファイルに書き戻す サンプルコード import java.io.File; import

  4. 【Java】Jacksonの@JsonPropertyOrderアノテーションでJSONプロパティの出力順序を制御する方法

    JavaでJSONを扱う際に広く使われているJacksonライブラリでは、デフォルトでオブジェクトのプロパティが定義順やアルファベット順とは限らない順序でシリアライズされることがあります。出力されるJSONのキー順序を明示的に制御したい場合は、@JsonPropertyOrderアノテーションを使用します。@JsonPropertyOrderはクラスレベルで付与するアノテーションです。引数としてフィールド名のリストを指定することで、オブジェクトをJSONにシリアライズした際の出力文字列におけるプロパティの表示順序を定義できます。アノテーション内で宣言されたプロパティは最初に(指定した順序どおり

  5. Javaで文字列を逆順にする最も簡単な方法は?reverse()メソッドの使い方を解説

    組み込みのreverse()メソッドを使う(最も簡単な方法) Javaで文字列を逆順にする最も簡単な方法は、StringBufferクラスが提供するreverse()メソッドを使用することです。このメソッドは、現在のStringBufferオブジェクトの内容を反転し、その結果を新しいStringBufferオブジェクトとして返します。 手順は次の通りです。 反転したい文字列を引数に渡して、StringBufferクラスのインスタンスを生成します。 生成したオブジェクトのreverse()メソッドを呼び出します。 toString()メソッドを使って、再びString型に変換します。 サン

  6. 2つ以上のファイルを交互に1つのファイルへマージするJavaプログラム

    Javaでは、ScannerクラスとFileWriterクラスを組み合わせることで、複数のテキストファイルの内容を読み込み、1つの新しいファイルへ簡単にマージ(結合)できます。本記事では、3つのファイルから交互に1行ずつ読み取って結合する方法と、同じディレクトリ内の全ファイルを一括で結合する方法の2つのアプローチを紹介します。 前提となる入力ファイル ここでは、次の3つのテキストファイルが用意されているものとします。 output1.txt Hello how are you output2.txt Welcome to Tutorialspoint output3.txt We prov

  7. Javaでディレクトリ内のすべてのファイルを再帰的に一覧表示する方法

    この記事では、Javaを使って指定したディレクトリ内のすべてのファイルを再帰的に一覧表示するプログラムを解説します。サブディレクトリの中にあるファイルまで含めて取得できるため、フォルダ全体の内容を把握したい場合に便利なテクニックです。 前提となるディレクトリ構成 Dドライブ直下に「ExampleDirectory」というフォルダがあり、その中に7つのファイルと2つのサブディレクトリが格納されていると仮定します。 各サブディレクトリの内容は以下の通りです。 SampleDirectory1:SampleFile1.txt と SampleFile2.txt の2つのファイルを含みます。 Sa

  8. 【Java入門】ディレクトリ内のすべてのファイルを再帰的に削除するプログラムの書き方

    この記事では、Javaを使って指定したディレクトリ内のすべてのファイルを再帰的に削除する方法を解説します。サブディレクトリの中にあるファイルも含めて、ファイルだけを削除し、ディレクトリ構造自体は残すプログラムです。前提となるディレクトリ構成まず、Dドライブ直下に ExampleDirectory というフォルダがあり、その中に7つのファイルと2つのディレクトリが含まれているものと仮定します。SampleDirectory1:SampleFile1.txt と SampleFile2.txt の2つのファイルを含むSampleDirectory2:SampleFile2.txt と Sample

  9. JavaでSystem.out.println()の出力をファイルにリダイレクトする方法

    Systemクラスのoutフィールドは、標準出力ストリームを表すオブジェクトであり、PrintStreamクラスのインスタンスです。 このPrintStreamが持つprintln()メソッドは、Javaの有効な任意の型の値を受け取り、その値を出力した後に行末で改行します。 デフォルトでは、コンソール(画面)がJavaの標準出力ストリーム(System.out)として設定されており、System.out.println()メソッドに文字列を渡すと、その文字列がコンソール上に表示されます。 System.out.println()の出力をリダイレクトするには java.lang.Systemク

  10. 【Java】素数を判定して次の素数を見つけるプログラムの作り方

    素数とは? 素数とは、1より大きい整数のうち、約数が「1」と「その数自身」の2つだけを持つ数のことです。それ以外の正の約数は一切持ちません。たとえば7は「7 = 1 × 7」としか分解できないため、素数です。 素数判定のアルゴリズム ある数が素数かどうかを調べるには、以下の手順が基本になります。 判定対象の整数を変数Aに代入する。 Aを2からA−1までの整数で順番に割っていく。 途中で一度でも割り切れたら、Aは素数ではない。 最後まで割り切れる数が現れなければ、Aは素数である。 なお、実際のプログラムでは「√Aまで調べれば十分」という性質を利用すると処理を大幅に高速化できます。これは、A

  11. 【Jackson】JavaでJSONシリアライズ時に特定のフィールドを無視する方法(@JsonIgnoreの使い方)

    JavaオブジェクトをJSONに変換する際、パスワードや内部データなど、外部に出力したくないフィールドが含まれていることがあります。そんなときに活躍するのが、Jacksonライブラリが提供する@JsonIgnoreアノテーションです。 @JsonIgnoreはフィールドに対して付与でき、シリアライズ(Java→JSON)とデシリアライズ(JSON→Java)の両方の処理において、対象のフィールドを完全に無視します。 @JsonIgnoreの基本構文 public @interface JsonIgnore このアノテーションはフィールドのほか、ゲッター・セッターメソッドやコンストラクタの引数に

  12. Jacksonの@JsonAnyGetterと@JsonAnySetterアノテーションの使い方と活用シーン

    @JsonAnyGetter / @JsonAnySetterとは@JsonAnyGetterアノテーションを使用すると、Mapをプロパティのコンテナとして扱い、その中身をまとめてJSONにシリアライズできます。事前にフィールドとして定義していない動的なキー・バリューのペアを、JSON出力時にフラットな形で展開したい場合に非常に便利です。一方、@JsonAnySetterアノテーションは、JSONオブジェクト内に存在するすべての未認識フィールド(Javaオブジェクト側のプロパティやセッターメソッドにマッピングされていないフィールド)に対して、同じセッターメソッドを呼び出すようJacksonに指

  13. 【Java】BigIntegerクラスで素数を判定し、次の素数を見つける方法

    Javaで大きな整数を扱う際に便利なのが、java.math.BigIntegerクラスです。このクラスは、Javaのプリミティブ整数型のすべての演算子に相当する操作や、java.lang.Mathクラスの関連メソッドを提供しています。さらに、ある数が素数かどうかを判定するメソッドや、次の素数(確率的素数)を見つけるメソッドも用意されています。 isProbablePrime()メソッドで素数を判定する isProbablePrime()は、現在のBigIntegerオブジェクトが表す値が素数であるかどうかを判定するメソッドです。引数には判定の「確実性(certainty)」を表す整数値を指定

  14. 【Java入門】外部ライブラリ不要!URLクラスでWebページの内容を読み取る方法

    java.netパッケージに含まれるURLクラスは、World Wide Web上のリソース(ファイルやディレクトリ、参照先など)を指し示す「Uniform Resource Locator(URL)」を扱うためのクラスです。Java標準ライブラリだけで構成されているため、追加の依存関係なしに利用できます。このクラスが持つopenStream()メソッドを呼び出すと、そのオブジェクトが表すURLへの接続が開かれ、ページのデータを読み取るためのInputStreamオブジェクトが返されます。これを利用することで、Webページの内容を簡単に取得できます。URLクラスを使ってWebページのデータを読

  15. 【Java】文字列がdouble型に変換(パース)できるか確認する3つの方法

    Javaプログラミングでは、文字列がdouble型の数値として有効かどうかを確認したい場面がよくあります。たとえば、ユーザーの入力やファイルから読み込んだデータを数値として処理する前に検証しておけば、予期しない例外の発生を防ぐことができます。本記事では、parseDouble()メソッド、valueOf()メソッド、Doubleクラスのコンストラクタという3つの方法を解説します。 1. parseDouble()メソッドを使用する方法 java.lang.DoubleクラスのparseDouble()メソッドは、String型の値を受け取り、それを解析してdouble値を返します。 null

  16. 【Java入門】Windows Media Playerなど外部プログラムを実行する方法(Runtime/ProcessBuilder)

    JavaアプリケーションからWindows Media Playerなどの外部プログラムを実行したい場合、標準ライブラリだけで簡単に実現できます。Javaでは主にRuntimeクラスとProcessBuilderクラスという2つの方法で外部プロセスを起動できます。それぞれの手順とサンプルコードを詳しく見ていきましょう。 方法1:Runtimeクラスを使用する Javaにはjava.lang.Runtimeというクラスが用意されており、このクラスを利用することで現在の実行環境とやり取りできます。 このクラスの静的メソッドgetRuntime()は、現在のアプリケーションに関連付けられたRunti

  17. 【Java】文字列がboolean型かどうかを判定する方法を解説

    はじめに:Booleanクラスの変換メソッド Javaのjava.langパッケージに含まれるBooleanクラスには、文字列をboolean値へ変換するためのメソッドとして、parseBoolean() と valueOf() の2種類が提供されています。 parseBoolean(String s) − 引数として文字列を受け取り、プリミティブ型のboolean値を返します。指定された文字列が「true」(大文字・小文字は問わない)であれば true を返し、null や「false」、それ以外の任意の値であれば false を返します。 valueOf(String s) − 引数とし

  18. Javaで数値を含む文字列の中身を正しくソートする方法

    Javaでは、スペース区切りの数値が含まれた文字列をそのままソートすると、「辞書順」で比較されてしまい、意図しない結果になります(例:「10」が「2」より前に来る)。数値として正しく並べ替えるには、文字列を一度整数に変換してからソートする必要があります。 具体的な手順は以下の通りです。 対象となる文字列を用意します。 結果を格納するための空の整数型配列を作成します。 split() メソッドは、区切り文字を表す文字列を受け取り、元の文字列をトークン(部分文字列)の配列に分割します。このメソッドを使って、指定した文字列を配列に分解します。 Integer.parseInt() メソッドは、文

  19. Javaで文字列がアルファベットのみか判定する方法【2つの手法を解説】

    Javaで文字列がアルファベット(英字)のみで構成されているかを検証するには、大きく分けて2つの方法があります。1つは、文字列内の各文字を英字(大文字・小文字)と1つずつ比較する方法、もう1つは正規表現を使う方法です。 方法1:各文字を1つずつ比較して検証する 次のプログラムは、ユーザーから文字列(名前)を入力として受け取り、含まれる各文字が英字(a〜z、A〜Z)の範囲内にあるかを順番にチェックすることで、入力が適切な名前かどうかを判定します。 import java.util.Scanner; public class ValidatingString { public static

  20. Javaで配列の特定の範囲をコピーする方法!copyOf()とcopyOfRange()の使い方

    Javaでは、java.utilパッケージに含まれるArraysクラスのメソッドを使うことで、配列の一部や全体を簡単にコピーできます。本記事では、代表的な2つの方法であるcopyOf()メソッドとcopyOfRange()メソッドについて、サンプルコードと実行結果つきでわかりやすく解説します。 copyOf()メソッドを使う方法 Arraysクラス(java.utilパッケージ)のcopyOf()メソッドは、以下の2つの引数を受け取ります。 コピー元となる任意の型の配列 新しい配列の長さを表す整数値 このメソッドは、指定された配列の先頭から指定した長さ分の要素を新しい配列にコピーして返しま

Total 1930 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:30/97  20-コンピューター/Page Goto:1 24 25 26 27 28 29 30 31 32 33 34 35 36