【问题标题】:Can a javabean have methods and non-primitive types as its properties?javabean 可以将方法和非原始类型作为其属性吗?
【发布时间】:2012-03-20 12:13:20
【问题描述】:

对不起,这可能是超级基本的。但是在我所有的 javabean 示例中,除了“int”和“String”之外,我没有看到任何作为 javabean 属性的东西。

如果我有一个 Person bean,并且我想要一个“昵称”属性怎么办?那将是一个“字符串”对象的数组。那可能吗?我也可以使用 HashMap 作为 javabean 属性吗?

我也不清楚是否允许 javabean 具有 getter 和 setter 之外的方法。如果我有一个 Calculator bean,我可以有 add() 或 subtract() 之类的方法吗?

(我问的原因与使用 JAX-RS 规范将 JSON 编组和解组为 java 对象有关。我认为在标准教程中,bean 都非常简单,可以使用自动编组和解组而无需编写任何适配器。我试图弄清楚自动转换在什么时候停止工作。)

谢谢!

【问题讨论】:

    标签: json javabeans jax-rs


    【解决方案1】:
    1. 非原始或简单(字符串)类型的属性 - 只要 JAXB 提供程序能够序列化/反序列化它们就没有问题。

    2. 您可以向 bean 添加方法,没问题。如果您想确保这些字段用于序列化,您可以使用 @XmlAccessorType(XmlAccessType.FIELD) 注释您的 bean

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多