Objectmapper: 定义常量属性 (let)

创建于 2016-01-08  ·  3评论  ·  资料来源: tristanhimmelman/ObjectMapper

你好。

我使用 Gson 在 Java 中映射对象。 使用 Gson,我可以为给定的类定义常量值(最终),但我认为使用 ObjectMapper 是不可能的,不是吗?

我的意思是,我可以使用 ObjectMapper 用“let”定义常量属性吗?

我认为不可能的事实与语言 Swift 本身有关,某种限制,但我不知道确切原因。

但是在我的系统中无法防止使用 ObjectMapper 映射的类的可变性真的很令人沮丧,这是大多数!

顺便说一句,感谢您提供这个很棒的图书馆;)

最有用的评论

我想:+1:支持let属性。 但是,有几种解决方法:

  • 使用private (set)您的var声明添加前缀。
  • 使用具有值语义的类型( struct )而不是引用语义( class ),并将其分配给let属性。 请注意,这会产生一些副作用,可能会也可能不会。

所有3条评论

为了简单起见,我暂时选择不支持 ObjectMapper 中的不可变类型。 我在支持它的项目中有一些实验代码,但是它没有经过全面测试,我目前不建议使用它。 如果您需要不可变类型,还有其他支持它的项目,例如 Argo。

我想:+1:支持let属性。 但是,有几种解决方法:

  • 使用private (set)您的var声明添加前缀。
  • 使用具有值语义的类型( struct )而不是引用语义( class ),并将其分配给let属性。 请注意,这会产生一些副作用,可能会也可能不会。

@frankus我刚刚为此创建了一个问题 #383

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

loryhuz picture loryhuz  ·  4评论

YunyueLin picture YunyueLin  ·  3评论

amg1976 picture amg1976  ·  3评论

nearspears picture nearspears  ·  4评论

patchthecode picture patchthecode  ·  3评论