LINUX.ORG.RU

[scala] HashMap полей класса?

 


0

1

дано: бинарный протокол, список полей известного размера, массив байт. протокол определен так: сначала я читаю номера полей, которые мне пришли, котом сами значения полей по очереди.

ну например: есть у меня объект с полями field_1, field_2, field_3. я начинаю преобразовывать мой бинарный протокол в приличный вид, происходит это так: читаю список пришедшех полей, скажем [1, 2], стало быть можно вычитать field_1 и field_2. кончился один объект, читаем следующий: прочитал уже [2, 3] ---> прочитал и заполнил field_2, field_3.

мне прям хочется сделать какой-то hashMap вида [int, someClassFieldType], чтобы можно было сначала заполнить такой map (map.add (1, obj.field_1); map.add (2, obj.field_2); map.add (3, obj.field_3)), а потом оттуда же читать, что-то вроде obj.(map.get (1)) = ...

вопрос: как? или я хочу странного?

сделал мап (Int, ArrayList => Unit), в общем-то тоже вариант.

Rastafarra ★★★★
() автор топика

Хочешь странного.

dave ★★★★★
()
Ответ на: комментарий от Sectoid

> В общем виде только через рефлексию, имхо.

ну или ей, да. в общем-то лямбда вроде нормально вписалась.

Rastafarra ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.