Java

 Computer >> コンピューター >  >> プログラミング >> Java
  1. 疎結合とは?Javaでインターフェースを使って実現する方法を解説

    結合(Coupling)とは結合とは、あるオブジェクト型が別のオブジェクト型に依存している度合いのことを指します。2つのオブジェクトが互いに完全に独立しており、片方へ加えた変更がもう片方に影響を与えない場合、それらは疎結合(loosely coupled)であると言われます。逆に、一方の変更が他方に波及してしまう状態は「密結合」と呼ばれ、保守性や拡張性の低下につながるため避けるべき設計とされています。Javaで疎結合を実現するにはJavaではインターフェースを利用することで疎結合を実現できます。具体的なクラスに直接依存するのではなく、インターフェース型を経由してオブジェクトを扱うことで、実装の

  2. Javaのインターフェースは複数のインターフェースを継承(拡張)できる?extendsキーワードの使い方を徹底解説

    Javaのインターフェースとは Javaのインターフェースはクラスとよく似ていますが、含められるのが抽象メソッドと、finalかつstaticなフィールドのみであるという点が大きく異なります。そして、クラスの場合と同じように、extendsキーワードを使用することで、あるインターフェースを別のインターフェースから継承(拡張)することが可能です。以下は、1つのインターフェースを別のインターフェースが継承する基本的な例です。 interface ArithmeticCalculations { public abstract int addition(int a, int b);

  3. JavaのFlexjsonでJSONをラップする方法:rootName()メソッドの使い方を解説

    Flexjsonは、Java Beans、Map、配列、コレクションなどのJavaオブジェクトをJSON形式でシリアライズ・デシリアライズするための軽量なJavaライブラリです。JSONへの変換を行う中心となるのがJSONSerializerクラスで、デフォルトではオブジェクトの直下のフィールドのみを対象とする浅い(shallow)シリアライズを実行します。 本記事では、生成されるJSONを任意の名前でラップ(包む)できるrootName()メソッドの使い方を、サンプルコードとともに解説します。 rootName()メソッドとは? JSONSerializerクラスが提供するrootName(

  4. Javaで正規表現を使って文字列の先頭ゼロを削除する方法

    JavaのStringクラスが提供するreplaceAll()メソッドは、「正規表現パターン」と「置換後の文字列」の2つの引数を受け取り、パターンにマッチした部分をすべて指定した文字列に置き換えます。 文字列の先頭にあるゼロ(先行ゼロ)にマッチさせるための正規表現は、次のとおりです。 ^0+(?!$) このパターンの意味は以下のとおりです。 ^0+:文字列の先頭から始まる1個以上の「0」にマッチします。 (?!$):否定先読みと呼ばれる構文で、文字列の末尾ではない位置であることを保証します。これにより、「0000」のようにすべてがゼロの文字列の場合でも、最後の1個のゼロが残り、空文字列にな

  5. JavaのApache Commonsライブラリで文字列から先頭のゼロを削除する方法

    Javaで文字列の先頭にある余分な「0」を取り除きたい場面は意外と多くあります。そんなときに便利なのが、Apache Commons LangライブラリのStringUtils.stripStart()メソッドです。org.apache.commons.lang3.StringUtilsクラスが提供するstripStart()メソッドは、2つの文字列を引数として受け取ります。第1引数に指定した文字列の先頭から、第2引数で指定した文字セットに該当する文字をすべて削除します。事前準備:依存関係の追加Apache Commonsライブラリを使って先頭のゼロを削除するには、まずプロジェクトにライブラリ

  6. JavaでDoubleをStringに変換する4つの方法

    Javaでは、プリミティブ型の double やラッパークラスの Double の値を、文字列(String)に変換するための方法がいくつか用意されています。この記事では、代表的な4つの手法について、コード例と実行結果とあわせてわかりやすく解説します。 1. DoubleクラスのtoString()メソッド toString() は、現在のDoubleオブジェクトが保持している値を文字列形式で返すメソッドです。Double値をStringに変換するには、以下の手順を実行します。 必要なdouble値をDouble型の参照変数に代入する(自動的にオートボクシングが行われます)。 toStr

  7. Javaで文字列をStringBuilderに変換する方法をわかりやすく解説

    Javaでは、Stringは不変(イミュータブル)なオブジェクトであるため、文字列を頻繁に連結・編集する場合には、可変(ミュータブル)なStringBuilderクラスを使用するのが効率的です。StringBuilderクラスが提供するappend()メソッドは、String型の値を受け取り、現在のStringBuilderオブジェクトの末尾に追加します。これにより、文字列からStringBuilderへの変換(変換というより格納)が簡単に行えます。文字列をStringBuilderに変換する手順String型の値をStringBuilderオブジェクトに変換するには、以下の手順を実行します。

  8. JavaでStringBuilderをStringに変換する方法

    Javaでは、可変(ミュータブル)な文字列を扱うためにStringBuilderクラスがよく使われます。しかし、最終的な結果として不変(イミュータブル)なStringオブジェクトが必要になる場面も多くあります。そのような場合に活躍するのが、StringBuilderクラスが提供するtoString()メソッドです。このメソッドは、現在のStringBuilderオブジェクトが保持している文字列の内容を、新しいStringオブジェクトとして返します。つまり、StringBuilderをStringに変換したいときは、単純にtoString()メソッドを呼び出すだけで完了します。変換の手順Stri

  9. JavaのBufferedWriterクラスにおけるflush()メソッドの目的とは?使い方を徹底解説

    JavaでBufferedWriterオブジェクトを使ってストリームにデータを書き込む場合、write()メソッドを呼び出した時点では、データはまず内部のバッファに一時的に保存されるだけで、実際にはまだ何も出力されません。flush()メソッドは、このバッファに溜められた内容を、基となるストリームへ強制的に押し出す(書き出す)ために使用します。なぜバッファリングが必要なのかそもそもBufferedWriterがデータを直接ストリームに書き込まず、一度バッファに蓄えるのは、ディスクやネットワークなどへのアクセス回数を減らし、書き込み処理のパフォーマンスを向上させるためです。ある程度データが溜まっ

  10. Javaでディレクトリ階層を作成する方法|mkdirs()メソッドの使い方を解説

    java.ioパッケージに含まれるFileクラスは、システム上のファイルやディレクトリ(パス名)を表現するためのクラスです。このクラスには、ファイルやディレクトリに対してさまざまな操作を行うためのメソッドが数多く用意されています。 mkdir()メソッドを使用すると、現在のFileオブジェクトが表すパスにディレクトリを1つ作成できます。ただし、このメソッドは親ディレクトリが存在しない場合には失敗するという点に注意が必要です。 ディレクトリ階層を作成するには? 複数階層からなる新しいディレクトリ構造を一括で作成したい場合は、同じFileクラスのmkdirs()メソッドを使用します。このメソッドは

  11. Javaのバイトストリーム入門!InputStreamとOutputStreamの基本と使い方

    Javaのバイトストリームとは バイトストリームは、データをバイト単位(8ビット)で扱うための入出力の仕組みです。バイトストリームクラスは8ビットのデータを読み書きするもので、テキスト(文字)だけでなく、動画・音声・画像など、あらゆる種類のデータを扱うことができます。 Javaでは、抽象クラスであるInputStreamとOutputStreamが、すべての入出力ストリームクラスのスーパークラスとして定義されています。これらを継承した各クラスを利用することで、バイト列の読み書きが可能になります。 主なバイトストリームクラスの一覧 Javaが標準で提供している代表的なバイトストリームクラスは以

  12. Javaの文字ストリームとは?Reader・Writerクラスの基本と使い方を解説

    JavaのI/O処理には「バイトストリーム」と「文字ストリーム」の2種類があります。この記事では、そのうちの文字ストリーム(Character Streams)について、基本的な仕組みから主要なクラス、実際のコード例までわかりやすく解説します。 文字ストリームとは 文字ストリームは、データを16ビットUnicodeとして扱う入出力の仕組みです。バイトストリームがあらゆるバイナリデータ(画像や音声など)を扱えるのに対し、文字ストリームはテキストデータ専用であり、日本語などのマルチバイト文字も正しく読み書きできるのが特徴です。 ReaderクラスとWriterクラス すべての文字ストリームクラ

  13. JavaのConsoleクラスを使ってキーボードからデータを読み込む方法

    JavaのConsoleクラスは、コンソール(キーボードや画面)デバイスとの間でデータを読み書きするために使用されるクラスです。このクラスには、キーボードから1行分の入力を読み取るreadLine()メソッドが用意されており、System.console()メソッドを呼び出すことでConsoleクラスのオブジェクトを取得できます。 注意: このプログラムをIDEなどの非対話型環境で実行すると、正しく動作しません。これは、System.console()が対話的なコンソールが存在しない環境ではnullを返すためです。実行前にその点を考慮したチェック処理を入れておくと安全です。 サンプルプログラ

  14. Javaのパッケージとは?作成・コンパイル・実行方法をわかりやすく解説

    Javaでは、互いに関連するクラスやインターフェースを「パッケージ」という単位でグループ化します。パッケージとは、特定の概念に関連するクラスやインターフェースを格納するディレクトリ(フォルダ)のようなものです。例えば、入出力操作に関するすべてのクラスやインターフェースは、java.io パッケージにまとめられています。 パッケージを利用することで、クラス名の衝突を防ぎ、コードの管理性や再利用性が向上するというメリットがあります。 パッケージの作成方法 クラスやインターフェースをパッケージにまとめるには、ファイルの先頭で package キーワードを使って宣言するだけです。以下はその例です。 サ

  15. 【Java入門】一時ファイルの作成と削除方法をわかりやすく解説

    はじめに単体テストや一部のアプリケーションロジックでは、処理中に一時ファイル(テンポラリファイル)を作成する必要がある場合があります。Javaでは、java.io.Fileクラスが提供するメソッドを利用することで、一時ファイルを簡単に作成・削除できます。本記事では、その具体的な方法をサンプルコード付きで解説します。一時ファイルの作成方法Fileクラスには、一時ファイルを作成するためのcreateTempFile()メソッドが用意されています。このメソッドは主に以下の3つの情報を受け取ります。prefix(プレフィックス): ファイル名の先頭に付ける文字列suffix(サフィックス): 拡張子な

  16. Javaのlist()メソッドとlistFiles()メソッドの違いをわかりやすく解説

    java.ioパッケージに含まれるFileクラスは、システム上のファイルやディレクトリ(パス名)を抽象的に表現するためのクラスです。特定のディレクトリ内に存在するすべてのファイルやフォルダの一覧を取得したい場合、このクラスが提供するlist()メソッドとlistFiles()メソッドを利用できます。 両者の主な違いは次のとおりです。 list()メソッド:指定したディレクトリ内の全ファイル・ディレクトリの「名前」を、String型の配列として返します。 listFiles()メソッド:指定したディレクトリ内の全ファイル・ディレクトリを表すFileオブジェクトを、File型の配列として返します

  17. JavaのJacksonライブラリでJSONをJavaオブジェクトに変換する方法

    Jacksonライブラリの中核となるのが ObjectMapper クラスです。このクラスが提供する readValue() メソッドを使用すると、JSON形式の文字列をJavaオブジェクトへ変換(デシリアライズ)することができます。逆に、JavaオブジェクトからJSON文字列を生成したい場合は writeValueAsString() メソッドを利用します。readValue() メソッドの構文public <T> readValue(String content, JavaType valueType) throws IOException, JsonParseExceptio

  18. Javaでファイルを圧縮する方法!DeflaterOutputStreamの使い方を徹底解説

    Javaでファイルを圧縮するには? Javaでは、java.util.zipパッケージに含まれるDeflaterOutputStreamクラスを使用することで、データを圧縮しながら出力先へ書き出すことができます。このクラスは、DEFLATE圧縮アルゴリズム(ZIPやGZIPでも使われる標準的な方式)に基づいており、画像やテキストなど任意のファイルを手軽に圧縮できます。 このクラスのwrite()メソッドは、int型またはbyte型のデータを受け取り、圧縮したうえで、現在のDeflaterOutputStreamオブジェクトに紐づいた出力先へ書き込みます。 ファイル圧縮の基本手順 圧縮したい

  19. Javaでファイルを解凍する方法|InflaterInputStreamクラスの使い方を解説

    Javaでは、InflaterInputStreamクラスを使うことで、圧縮されたファイルを解凍(展開)できます。このクラスはjava.util.zipパッケージに含まれており、DeflaterOutputStreamなどで圧縮されたデータを元の状態に戻す際に使用されます。 InflaterInputStreamクラスのread()メソッドは、入力ストリームから圧縮データを1バイトずつ読み込みます。このメソッドを利用して圧縮ファイルを解凍するには、以下の手順に従います。 圧縮ファイルを解凍する手順 FileInputStreamオブジェクトを作成します。コンストラクタの引数として、圧縮ファ

  20. JavaのQueueインターフェースにおけるpeek()・poll()・remove()メソッドの違いを徹底解説

    JavaのQueue(キュー)インターフェースは、処理を行う前にデータを一時的に保持することを目的としたコレクションです。キューはFIFO(First-In-First-Out:先入れ先出し)方式で動作し、最初に追加された要素が最初に取り出されます。Queueインターフェースには先頭要素を取得するためのメソッドが複数用意されており、それぞれ挙動が異なります。本記事では、peek()、poll()、remove()の3つのメソッドの違いを、サンプルコードと実行結果を交えて詳しく解説します。peek()メソッドpeek()メソッドは、キューの先頭にある要素を削除せずに返します。キューの状態は変化し

Total 1930 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:34/97  20-コンピューター/Page Goto:1 28 29 30 31 32 33 34 35 36 37 38 39 40