MATLAB: Compiled Java class not working in MATLAB

javajava apiMATLAB

I've compiled the following Java code as the comment header suggests: https://algs4.cs.princeton.edu/24pq/IndexMinPQ.java.html (The StdOut class is under this link: https://introcs.cs.princeton.edu/java/stdlib/StdOut.java.html)
However, this indexed priority queue that I really need (and possibly not only me…) returns errors in MATLAB. Namely, object construction seems to work fine:
q = IndexMinPQ(222) // works
but calling object methods fails:
q.insert(int32(3), 22) // fails
I've tried to comply with the announced MATLAB-Java type mappings, but still get this error:
No method 'insert' with matching signature found for class 'IndexMinPQ'.

Best Answer

The second argument of function "insert" is java.lang.Comparable. My observation for this case is that you might need to first create a Java Integer instance or Java String instance by JAVA constructor in MATLAB and pass the JAVA instance directly into the "insert" function instead of letting MATLAB to cast for you. For example,
r = IndexMinPQ(220);
i = java.lang.Integer(22);
r.insert(3, i);