1

LuaJ を使用しているときに、Byte 引数が必要な Java メソッドを呼び出そうとしていました。しかし、使用するluajava.newInstance("java.lang.Byte","2")と java.lang.Integer であることが判明し、エラーが発生しました。

java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Byte (java.lang.Integer and java.lang.Byte are in module java.base of loader 'bootstrap')

キャストを行うために Java メソッドを変更できません。lua で Byte インスタンスを取得するにはどうすればよいですか?

編集:メソッドはMinecraftのソースコードにあり、実装が見つかりません。そこで、テストするメソッドを書きます。

ジャバ:

    public static String GetType(Object obj){
        return  obj.getClass().toString();
    }

ルア:

print(MyJavaClass:GetType(luajava.newInstance("java.lang.Byte","2")))

そして「class java.lang.Integer」です

4

0 に答える 0