PythonからJavaを呼び出す方法はいくつかありますが、ここではPy4J
を使用した方法を紹介します。
Py4Jのインストール
まずはPy4J
をインストールします。以下のコマンドを実行します。
pip install py4j
Javaプログラムの作成
次に、Pythonから呼び出すJavaプログラムを作成します。以下はその一例です。
import py4j.GatewayServer;
public class AdditionApplication {
public int addition(int first, int second) {
return first + second;
}
public static void main(String[] args) {
AdditionApplication app = new AdditionApplication();
GatewayServer server = new GatewayServer(app);
server.start();
System.out.println("Gateway Server Started");
}
}
このJavaプログラムは、2つの整数を引数に取り、その和を返すaddition
メソッドを持つAdditionApplication
クラスを定義しています。
PythonからJavaのメソッドを呼び出す
最後に、PythonからJavaのメソッドを呼び出します。以下はその一例です。
from py4j.java_gateway import JavaGateway
# JVMへ接続
gateway = JavaGateway()
# java.util.Randomインスタンスを作成
random = gateway.jvm.java.util.Random()
number1 = random.nextInt(10)
number2 = random.nextInt(10)
print(number1, number2)
# AdditionApplicationのインスタンスを取得
addition_app = gateway.entry_point
# additionを呼び出し
sum_num = addition_app.addition(number1, number2)
print(sum_num)
このPythonプログラムは、JavaのAdditionApplication
クラスのインスタンスを取得し、そのaddition
メソッドを呼び出しています。
以上がPythonからJavaを呼び出す一例です。この方法を利用すれば、PythonとJavaの両方の長所を活かした開発が可能になります。.