ユーティリティクラス/メソッド

ユーティリティ クラスは、関連タスクの特定のリストを実行する静的変数と静的メソッドを備えたヘルパー クラスです。

標準ユーティリティ クラスの例を見てみましょう。

java.lang.Math このクラスはさまざまな数学的計算を実行でき、いくつかの数学的定数を提供します。
java.util.Arrays このクラスには、配列を操作するためのさまざまなメソッド (並べ替えや検索など) が含まれています。このクラスには、配列をリストとして表示できる静的ファクトリーもあります。
java.lang.システム このクラスは、システムを操作するためのメソッドを実装します。ほとんどの場合、コンソールにテキストを表示するために使用されます。これを行うには、静的ファイルを参照します。PrintStreamオブジェクトを格納する変数を呼び出し、そのprintlnメソッド ( System.out.println ) を呼び出します。

ユーティリティ クラスを自分で作成することもできます。これを行うには、必要な静的パブリックメソッドを持つクラスを作成するだけです。ただし、ユーティリティ クラスを作成するには十分な理由が必要であることに注意してください。たとえば、複数の異なるクラスで 1 つのタスク (複雑な計算など) を実行するには、同じメソッドまたはメソッドのセットを使用する必要がある場合があります。

ユーティリティ クラス、 Pathsクラスの例を見てみましょう。

パスクラス

このクラスは、異なるパラメーター リストを持つ 2 つのバリアントを持つ1 つの静的getメソッドだけで構成されます。

getメソッドに渡すことができる引数は次のとおりです。

get(文字列が最初、文字列...詳細) 最後の引数のパス全体、またはディレクトリ名および (または) ファイル名のリスト。
get(URI ウリ) URI。

このユーティリティ クラスは、パス (文字列形式) または URI を Path に変換する問題を解決します。私たちはすでにPath について検討し、なぜそれが必要なのか、そしてそれをどのように扱うことができるのかを理解しました。

たまたまですが、私たちはパスを文字列または URI の形式で扱うことがよくあります。ここで、 Pathsユーティリティ クラスのメソッドを使用できます。

例を見てみましょう:

コメント

Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
                    
getメソッドに String (ファイルへのパス) を渡し、 Pathを取得します。その後、必要に応じて操作できます。

Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
                    
パスURI から取得することもできます。

Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
                    
ディレクトリ名の順序と、必要に応じてそのパスが含まれるファイルの名前を示します。

ただし、ここで注意点があります。Java 11 の登場により、getメソッドの実装はすべてPath.ofを呼び出します。


public static Path get(String first, String... more) {
    return Path.of(first, more);
}
 
public static Path get(URI uri) {
    return Path.of(uri);
}
    

このユーティリティ クラスは非推奨と宣言されている可能性があるため、代わりにPath.ofを使用する必要があります。


Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
                    

Path path =
Path.of("C:\\Users\\User\\Documents\\MyFile.txt");
                    

Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
                    

Path path = Path.of(URI.create("file:///Users/User/Code/MyClass.java"));
                    

Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
                    

ath path = Path.of(System.getProperty("user.home"),"documents", "document.txt");