Я хотел бы спросить, как мне правильно работать со Struct, когда я пытаюсь прочитать какой-то объект с сервера opc ua. Я прошел через это 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)
Я мог быть совершенно неправ, поэтому мог ли кто-нибудь подсказать мне, как мне решить такую проблему?