Каковы преимущества использования бесформенного HList по сравнению с классом case в Scala? В каких ситуациях вы не хотели бы использовать HList?
выбор бесформенного HList вместо класса case
comment
Вы можете переформулировать это как классы case и кортежи, и ответ будет практически таким же.
- person Travis Brown   schedule 29.09.2014
Ответы (1)
Вы можете сначала прочитать эти вопросы:
Являются ли HLists не чем иным, как запутанным способом записи кортежи?
Как можно Я использую новый Slick 2.0 HList, чтобы преодолеть ограничение в 22 столбца?
По сути, case classes
— это tuples
внизу, которые, в свою очередь, соответствуют Java classes
. Однако HList
является структурой данных List like
. Таким образом, вам, возможно, придется пройтись по списку, чтобы получить доступ к конкретному члену HList
. Это дороже, чем использование члена класса case или члена кортежа.
person
tuxdna
schedule
29.09.2014
также переключение с классов case на расширяемые записи может повлиять на производительность, см. следующий тест: github.com/eugengarkusha/
- person ievgen.garkusha; 19.05.2017