Compiled Java class not working in MATLAB

2 visualizaciones (últimos 30 días)
Ilya Tyuryukanov
Ilya Tyuryukanov el 23 de Oct. de 2018
Respondida: Mohan Feng el 25 de Oct. de 2018
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'.

Respuesta aceptada

Mohan Feng
Mohan Feng el 25 de Oct. de 2018
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);

Más respuestas (0)

Categorías

Más información sobre Call Java from MATLAB en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by