0
的陣列考慮我有以下的C結構的定義:指針結構
struct StructA {
int a;
int b;
};
struct StructB {
struct A *as;
int count;
};
所以,StructB
點as
領域StructA
「大小count
的組成的數組。然後,我在Java中代表struct StructA
下面的類:
public class StructA extends Structure {
public int a;
public int b;
public StructA() {
}
public StructA(Pointer p) {
super(p);
read();
}
@Override
protected List<String> getFieldOrder() {
return Arrays.asList(new String[]{"a", "b"});
}
public static class Reference extends StructA implements Structure.ByReference { }
public static class Value extends StructA implements Structure.ByValue { }
}
不過,我將如何在Java中代表struct B
?由於as
不是內聯陣列,因此我必須將as
表示爲Pointer
,那麼如何將Java StructA[]
變成Pointer
?
什麼什麼上有問題StructA []或ArrayList中或?它仍然是一個參考,您對陣列上的項目所做的任何更改都會傳播到原始類。 –
gcandal
或者更好的是,只需用一個ArrayList替換StructB,後者將完成StructB的所有操作。 – kiheru