#Scala那些事# 聊一聊shapeless,有趣又强大的库

今天聊一个比较有趣强大的库:shapeless

在Java里面,如果一个list里面要存完全不同类型的值,只能
List<Object> objs = List<Object>.of(1L, 3.5F, "abc")

如果不用shapeless,那Scala的写法也差不多。这么写的主要问题是类型信息都丢失了。

用了shapeless之后,我们就可以

Import shapeless.{HList, HNil, ::}
val objs: Long :: Float :: String :: HNil = 1L :: 3.5F :: "abc" :: HNil

这样类型信息就全部保存下来啦。至于有什么用,先卖个关子,我们下次再揭晓。

猜你喜欢

转载自www.cnblogs.com/GoKubernetes/p/12366913.html