Java オブジェクトの配列を返すカスタム Java オブジェクトがありThing
ます。返された配列を変換して、matlab の Java オブジェクトとして反復するにはどうすればよいですか? 現在、返された配列が Java オブジェクトとして扱われているようには見えません。
//Thing.java
public class Thing {
public int x,y,z;
public int[][] board;
// constructors and setters etc.
}
//ThingReturner.java
public class ThingReturner {
private LinkedList<Thing> mQueue = new LinkedList<>();
public void putThing(int x, int y, int z, int[][] board) {
mQueue.add(new Thing(x, y, z, board));
}
public Thing[] getThings() {
Thing[] things = new Thing[mQueue.size()];
while (!mQueue.isEmpty()) {
mQueue.pop();
}
return things;
}
}
私の MATLAB コードには、次のものがあります。
javaaddpath '../bin/';
obj = javaObjectEDT('ThingReturner');
obj.putThing(4,6,0,[[1,1,1],[1,0,0],[1,1,1]]);
obj.putThing(2,2,1,[[1,0,1],[1,1,1],[1,0,1]]);
>> obj.getThings()
ans =
Thing[]:
[]
[]
呼び出しisjava(ans(1))
は 0 を返します (isjava(ans)
ただし 1 を返します)。では、結果を適切に使用するにはどうすればよいgetThings()
ので、などを使用できますans(1).getX()
か?