【发布时间】:2010-12-13 07:02:43
【问题描述】:
假设对象的确切类是已知的,那么将任意对象转换为字符串表示和从字符串表示转换为普遍接受的方法是什么?也就是说,我需要实现一些类似下面的方法:
public interface Converter {
/**
* Convert this object to its String representation.
*/
public String asString(Object obj);
/**
* Take the String representation of an object produced by asString,
* and convert it back to an object of the appropriate class.
*/
public Object asObject(String stringRepresentation, Class clazz);
}
理想情况下,解决方案应该:
- 如果可能,请使用对象的内置 toString() 功能。因此,converter.asString(new Integer(5)) 应该返回 "5",converter.asObject("5", Integer.class) 应该返回一个值为 5 的 Integer。
- 尽可能生成人类可读的输出。
- 处理所有常见的 Java 数据类型,包括 java.util.Date 。
- 允许我为自己的自定义类插入转换功能。
- 相当轻量级和高效。
我知道有许多现成的解决方案可以做到这一点(例如 Google 的协议缓冲区),而且我自己可以轻松实现一次性解决方案。我的问题不是“我该如何解决这个问题”,而是“在众多现成的解决方案中,哪一个是当前的行业标准?”。
【问题讨论】:
标签: java string object type-conversion