javaMethod - Call Java method - MATLAB (original) (raw)
Syntax
Description
javaMethod([MethodName](#btnd%5Fvp-1%5Fsep%5Fshared-MethodName),[JavaObj](#btnd%5Fvp-1%5Fsep%5Fshared-JavaObj),[x1,...,xN](#btnd%5Fvp-1%5Fsep%5Fshared-x1xN))
calls the method in the class of the Java® object array with the signature matching the arguments x1,...,xN
. Use javaMethod
to call methods having names that exceed the maximum length of a MATLAB® identifier. This approach is the only way you can call such a method in MATLAB. To obtain the maximum identifier length, call the namelengthmax
function.
In general, use MATLAB syntax to call methods on Java objects.
method(object,arg1,...,argn)
Alternatively, use Java syntax.
object.method(arg1,...,argn)
javaMethod([StaticMethodName](#btnd%5Fvp-1%5Fsep%5Fshared-StaticMethodName),[ClassName](#btnd%5Fvp-1%5Fsep%5Fshared-ClassName),[x1,...,xN](#btnd%5Fvp-1%5Fsep%5Fshared-x1xN))
calls the static method in class ClassName
.
In general, use MATLAB syntax to call static methods on Java objects.
class.method(arg1,...,argn)
Examples
Create a java.util.Date
object myDate
and change the month to April. From the Java documentation, "A month is represented by an integer from 0 to 11; 0 is January, 1 is February, and so forth." Therefore, the numeric value for April is 3
.
myDate = java.util.Date; javaMethod('setMonth',myDate,3)
Call java.lang.Double
static method isNaN
to test variable num
. Since num
contains a number, no message is displayed.
num = 2.2; if javaMethod('isNaN','java.lang.Double',num) disp('This is not a number') end
Search for a text pattern in a string using variables for the pattern and for the search method. These variables could be set at runtime from user input.
Choose method, startsWith
, and identify pattern, str
.
fnc = 'startsWith'; str = java.lang.String('Four score');
Identify text to search.
gAddress = java.lang.String('Four score and seven years ago');
Search gAddress
for the pattern.
javaMethod(fnc,gAddress,str)
gAddress
starts with the words Four score
.
Call the constructor of or a static method in an inner class. In the javaMethod
and javaObject
functions, specify the class name, using the $
character, as OuterClass$InnerClass
.
For example, suppose class com.ams.MyClass
contains class MyInnerClass
with static method methodname
. In Java, the calling syntax is:
out = com.ams.MyClass.MyInnerClass.methodname(arg);
In MATLAB, type:
out = javaMethod('methodname','com.ams.MyClass$MyInnerClass',arg)
Input Arguments
Data Types: char
| string
Array, specified as a Java object of the class containing the method.
Java method input arguments, 1 through N (if any), required by MethodName or StaticMethodName, specified by any type. The method argument list specifies the argument type.
Data Types: char
| string
Java class name, specified as a string or character vector, containingStaticMethodName.
Data Types: char
| string
Tips
- Use
javaMethod
to specify the method name as a variable to be invoked at runtime. When calling a static method, you also can use a variable in place of the class name argument. For example, see Call Method Specified at Runtime.
Version History
Introduced before R2006a