Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - 日本語


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 >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:43:16 CEST 2023