2010-06-04 17 views
8

Estoy tratando de escribir algún código que tome cualquier objeto y lo convierta en una representación de cadena de ese objeto. La serialización no incluirá ninguna propiedad transitoria y toString() suele ser una dirección de memoria para el objeto. No puedo esperar que el objeto tenga un significado significativo para String() definido o implementar Serializable.Java: cómo convertir cualquier objeto a una representación de cadena de los datos

¿Hay alguna manera de determinar los datos en un objeto y convertirlo en una cadena? Estaría dispuesto a escribir algo para recorrer la clase y utilizar la reflexión para buscar datos, si fuera necesario, pero esperaba encontrar algo un poco más simple.

Cualquier sugerencia sería apreciada. Gracias.

+0

No está claro si desea una representación informativa (para mostrar, depurar) o una serialización textual (para que el objeto pueda restaurarse desde la cadena). – leonbloy

Respuesta

11

Grab apache's commonns-lang. Tiene un ReflectionToStringBuilder que hará la reflexión para enhebrar para usted.

También acepta estilos para permitirle personalizar la salida.

3

XMLEncoder podría ser adecuado. Serializa el objeto a XML, que es legible por humanos.

5

XStream es otra opción para producir XML a partir de sus objetos.

Cuestiones relacionadas