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

## 履歴

5.5.0 関数が導入されました. 'JIMS'モジュールに基づきます. JIMSモジュールとの動作上の主な違いは, jautoUnwrapがデフォルトで 有効になっていることです.