Invoke a method of a Java object
ret = jinvoke(object, methodName [, arg_1 [, arg_2...]])
A mlist typed _JObj or _JClass or a Scilab variable
A string giving the method name
A Scilab variable as method argument
Invoke the Java method (static or not) called methodName of the given object. The result is returned as a mlist typed _JObj.
The polymorphism is handled in using Java Reflection and the autoboxing is handled too so ArrayList.add(1.234) or ArrayList.add("Hello") are allowed. If it exists a method Foo.bar(int), it is possible to write Foo.bar(123) even if 123 is a Scilab double but Foo.bar(double), if it exists, will be chosen.
jimport java.lang.System; jimport java.awt.Color; jimport java.lang.String; // Non-static methods jinvoke("Hello World !!", "length"); str = String.new("Hello"); jinvoke(str,"substring",1, 4) // Static method T = jinvoke(System, "getProperty", "java.version"); // Combine c = jinvoke(Color, "decode", "123456"); cb = jinvoke(c, "brighter"); jcode = jinvoke(cb, "getRGB"); jremove System Color T c cb jcode; | ![]() | ![]() |
Version | Description |
5.5.0 | Function introduced. Based on the 'JIMS' module. The main difference in the behavior compared to the JIMS module is that jautoUnwrap is enabled by default. |