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