Java 条件付きコンパイル
Shubham Vora
2023年10月12日
この記事では、Java コードを条件付きでコンパイルする方法を学びます。 条件付きコンパイルは、特定の条件 (Java バージョン固有または OS 固有) に基づいてコードをコンパイルするときに、コードのチャンクを削除します。
Java での条件付きコンパイル
条件付きコンパイルを設定する最も簡単な方法は、グローバルなブール変数を作成し、その値に従ってコードをコンパイルすることです。 以下のサンプルコードを使用して条件付きコンパイルを理解しましょう。
Java での条件付きコンパイルにブール変数を使用する
以下の例では、javaversion.java
という名前のファイルを作成し、そのファイル内に Javaversion
クラスを作成しました。このクラスには、public static
変数名 Version
が含まれています。
test.java
ファイルでは、Version
変数にアクセスし、バージョンに従って Java コードをコンパイルしています。
javaversion.java
:
class Javaversion {
//
public static final String Version = "Java 19";
}
test.java
:
class Test {
public static void main(String[] args) {
System.out.println("Hello, World!");
if (Javaversion.Version == "Java 19") {
System.out.println("Code block executed for java 19");
} else {
System.out.println("Code block executed for < java 19");
}
}
}
出力:
Hello, World!
Code block executed for java 19
また、ユーザーは、Java のさまざまなコードでさまざまなファイルを作成し、特定の条件に従ってさまざまなファイルをコンパイルすることができます。
try {
Class.forName(<class Name>);
// execute the code for the `Java 17` version
return new Java17();
} catch (Exception e) {
// fall back
return new Java19();
}
上記の擬似コードでは、Class.name()
メソッドを使用してクラスを検出し、Java17
または Java19
クラスのオブジェクトを返しています。 ここで、ユーザーは Java17
および Java19
クラスを別のファイルに作成する必要があります。
著者: Shubham Vora