jinvoke
Javaオブジェクトのメソッドを呼び出す
呼び出し手順
ret = jinvoke(object, methodName [, arg_1 [, arg_2...]])
パラメータ
- object
_JObjまたは_JClass型のmlistまたはScilab変数
- methodName
メソッド名を指定する文字列
- arg_i
メソッド引数用のScilab変数
説明
指定したオブジェクトのmethodNameという名前の (静的またはそれ以外の)Javaメソッドをコールします. 結果は, _JObj型のmlistとして返されます.
ポリモーフィズムはJavaリフレクションにより処理され, autoboxingも処理されます. このため, ArrayList.add(1.234) または ArrayList.add("Hello") も使用可能です. メソッド Foo.bar(int)が存在する場合, 123 が Scilab double の場合でも, Foo.bar(123) と書くことができます. しかし, Foo.bar(double) が存在する場合には, こちらが 選択されます.
例
jimport java.lang.System; jimport java.awt.Color; jimport java.lang.String; // 非静的メソッド jinvoke("Hello World !!", "length"); str = String.new("Hello"); jinvoke(str,"substring",1, 4) // 静的メソッド T = jinvoke(System, "getProperty", "java.version"); // 混用 c = jinvoke(Color, "decode", "123456"); cb = jinvoke(c, "brighter"); jcode = jinvoke(cb, "getRGB"); jremove System Color String str T c cb jcode;
参照
- jautoUnwrap — 返された値を自動的にアンラップする
- jinvoke_db — JavaダイレクトバッファによりJavaオブジェクトのメソッドを 呼び出す
履歴
バージョン | 記述 |
5.5.0 | 関数が導入されました. 'JIMS'モジュールに基づきます. JIMSモジュールとの動作上の主な違いは, jautoUnwrapがデフォルトで 有効になっていることです. |
Report an issue | ||
<< jimport | Java from Scilab | jinvoke_db >> |