如何使用String数组发送自定义对象

时间:2011-08-08 06:24:11

标签: java java-ee

我必须将自定义对象传递给方法,但约束是它只接受String数组,有没有办法将自定义对象传递给该方法。请注意我无法更改接收方法以接受该对象。

4 个答案:

答案 0 :(得分:1)

你可以用一个String(或String [1])使用JSon。

答案 1 :(得分:1)

好吧,假设您没有可用的反向通道(例如两个代码都可以访问的Map<String, Object>),您可能需要以某种方式将对象序列化为文本。您可以通过基于文本的自然序列化机制(例如JSON)或以二进制形式将其序列化,然后使用base64将其转换为文本。当然,您调用的代码需要反转操作。

请注意,这不会序列化对象引用 - 因此您调用的代码最终将会出现一个具有相同数据的单独对象。如果它对对象进行了任何更改,则在您的调用代码中看到这些更改。

答案 2 :(得分:1)

您可以通过多种方式以String格式传递对象。

  1. 通过覆盖toString()方法,

  2. 通过创建Object

  3. 的JSON对象
  4. 通过以XML格式创建Key/Value地图,

  5. 像:

    <Object>
        <properties>
            <property>
               <key>...</key>
               <value>...</value>
            </property>
        </properties>
    </Object>
    
    1. 您可以使用JAXB注释,它将自动在XML中翻译您的对象。

答案 3 :(得分:1)

卡塔斯, 为什么不简单地再创建一个扩展基类的类,并覆盖该方法以接受自定义对象! 希望你所使用的课程不是最终的。