【发布时间】:2020-11-20 18:34:19
【问题描述】:
我想问当我试图从 opc ua 服务器读取一些对象时,我应该如何正确使用 Struct。我通过了这个example 并且能够读取数据。
但现在我不知道如何正确阅读它们。假设我正在读取一些数据结构,包括 x 和 y 值的两个数组。我试图做这样的事情:
Float[] x = (Float[])struct.getMember("x").getValue()
Float[] y = (Float[])struct.getMember("y").getValue()
但我收到异常“无法将 'java.lang.Object[]' 转换为 'java.lang.Float[]'”我可以这样做:
float[] x = new float[100];
int i = 0;
for(Object o: (Object[])struct.getMember("x").getValue()){
x[i] = (Float)o;
i++;
}
但我不认为这是对的。
无论如何,我想实现类似使用杰克逊读取 json 文件的功能。要有一些具有相同命名的类,“成员是并且具有合适的类型,并执行以下操作:
OpcuaReader reader = ...
MyClass myClass = reader.read(struct, MyClass.class)
我可能完全错了,所以任何人都可以建议我应该如何解决这个问题?
【问题讨论】: