我必须将自定义对象传递给方法,但约束是它只接受String数组,有没有办法将自定义对象传递给该方法。请注意我无法更改接收方法以接受该对象。
答案 0 :(得分:1)
你可以用一个String
(或String [1])使用JSon。
答案 1 :(得分:1)
好吧,假设您没有可用的反向通道(例如两个代码都可以访问的Map<String, Object>
),您可能需要以某种方式将对象序列化为文本。您可以通过基于文本的自然序列化机制(例如JSON)或以二进制形式将其序列化,然后使用base64将其转换为文本。当然,您调用的代码需要反转操作。
请注意,这不会序列化对象引用 - 因此您调用的代码最终将会出现一个具有相同数据的单独对象。如果它对对象进行了任何更改,则将在您的调用代码中看到这些更改。
答案 2 :(得分:1)
您可以通过多种方式以String格式传递对象。
通过覆盖toString()
方法,
通过创建Object
,
通过以XML格式创建Key/Value
地图,
像:
<Object>
<properties>
<property>
<key>...</key>
<value>...</value>
</property>
</properties>
</Object>
答案 3 :(得分:1)
卡塔斯, 为什么不简单地再创建一个扩展基类的类,并覆盖该方法以接受自定义对象! 希望你所使用的课程不是最终的。