<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FClass_Definition%2FtoString</id>
		<title>Java Tutorial/Class Definition/toString - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FClass_Definition%2FtoString"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/toString&amp;action=history"/>
		<updated>2026-04-21T22:31:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/toString&amp;diff=4202&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/toString&amp;diff=4202&amp;oldid=prev"/>
				<updated>2010-06-01T05:00:42Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:00, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/toString&amp;diff=4201&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/toString&amp;diff=4201&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Jakarta Commons toString Builder ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.apache.rumons.lang.builder.ToStringBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.ToStringStyle;&lt;br /&gt;
public class Main {&lt;br /&gt;
  private String id;&lt;br /&gt;
  private String firstName;&lt;br /&gt;
  private String lastName;&lt;br /&gt;
  public Main() {&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append(&amp;quot;id&amp;quot;, id).append(&lt;br /&gt;
        &amp;quot;firstName&amp;quot;, firstName).append(&amp;quot;lastName&amp;quot;, lastName).toString();&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Main example = new Main();&lt;br /&gt;
    example.id = &amp;quot;1&amp;quot;;&lt;br /&gt;
    example.firstName = &amp;quot;First Name&amp;quot;;&lt;br /&gt;
    example.lastName = &amp;quot;Last Name&amp;quot;;&lt;br /&gt;
    System.out.println(&amp;quot;example = &amp;quot; + example);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  override the toString method in your classes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Employee emp = new Employee(&amp;quot;Martinez&amp;quot;, &amp;quot;Anthony&amp;quot;);&lt;br /&gt;
    System.out.println(emp.toString());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Employee {&lt;br /&gt;
  private String lastName;&lt;br /&gt;
  private String firstName;&lt;br /&gt;
  public Employee(String lastName, String firstName) {&lt;br /&gt;
    this.lastName = lastName;&lt;br /&gt;
    this.firstName = firstName;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return &amp;quot;Employee[&amp;quot; + this.firstName + &amp;quot; &amp;quot; + this.lastName + &amp;quot;]&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Override toString() for Box class. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Box {&lt;br /&gt;
  double width;&lt;br /&gt;
  double height;&lt;br /&gt;
  double depth;&lt;br /&gt;
  Box(double w, double h, double d) {&lt;br /&gt;
    width = w;&lt;br /&gt;
    height = h;&lt;br /&gt;
    depth = d;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return &amp;quot;Dimensions are &amp;quot; + width + &amp;quot; by &amp;quot; + depth + &amp;quot; by &amp;quot; + height + &amp;quot;.&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class toStringDemo {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Box b = new Box(10, 12, 14);&lt;br /&gt;
    String s = &amp;quot;Box b: &amp;quot; + b; // concatenate Box object&lt;br /&gt;
    System.out.println(b); // convert Box to string&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Reflection based toString() utilities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class Main {&lt;br /&gt;
  String hello = &amp;quot;world&amp;quot;;&lt;br /&gt;
  int i = 42;&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    System.out.println(Util.toString(new MyClass()));&lt;br /&gt;
    &lt;br /&gt;
    System.out.println(Util.toString(new MyAnotherClass()));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Util {&lt;br /&gt;
  public static String toString(Object o) {&lt;br /&gt;
    StringBuilder sb = new StringBuilder();&lt;br /&gt;
    toString(o, o.getClass(), sb);&lt;br /&gt;
    return o.getClass().getName()+ &amp;quot;\n&amp;quot;+sb.toString();&lt;br /&gt;
  }&lt;br /&gt;
  private static void toString(Object o, Class clazz, StringBuilder sb) {&lt;br /&gt;
    Field f[] = clazz.getDeclaredFields();&lt;br /&gt;
    for (int i = 0; i &amp;lt; f.length; i++) {&lt;br /&gt;
      f[i].setAccessible(true);&lt;br /&gt;
      try {&lt;br /&gt;
        sb.append(f[i].getName() + &amp;quot;=&amp;quot; + f[i].get(o)+&amp;quot;\n&amp;quot;);&lt;br /&gt;
      } catch (Exception e) {&lt;br /&gt;
        e.printStackTrace();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    if (clazz.getSuperclass() != null)&lt;br /&gt;
      toString(o, clazz.getSuperclass(), sb);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyClass {&lt;br /&gt;
  int i = 1;&lt;br /&gt;
  private double d = 3.14;&lt;br /&gt;
}&lt;br /&gt;
class MyAnotherClass extends MyClass{&lt;br /&gt;
  int f = 9;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use a generic toString() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    System.out.println(new MyClass().toString());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyClass {&lt;br /&gt;
  String hello = &amp;quot;hi&amp;quot;;&lt;br /&gt;
  int i = 0;&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    StringBuilder sb = new StringBuilder();&lt;br /&gt;
    Class cls = getClass();&lt;br /&gt;
    Field[] f = cls.getDeclaredFields();&lt;br /&gt;
    for (int i = 0; i &amp;lt; f.length; i++) {&lt;br /&gt;
      f[i].setAccessible(true);&lt;br /&gt;
      try {&lt;br /&gt;
        sb.append(f[i].getName()+&amp;quot;=&amp;quot;+ f[i].get(this)+&amp;quot;\n&amp;quot;);&lt;br /&gt;
      } catch (Exception e) {&lt;br /&gt;
        e.printStackTrace();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    if (cls.getSuperclass().getSuperclass() != null) {&lt;br /&gt;
      sb.append(&amp;quot;super:&amp;quot;+ super.toString()+&amp;quot;\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    return cls.getName()+&amp;quot;\n&amp;quot; + sb.toString();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use Reflection To build toString method ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.apache.rumons.lang.builder.ReflectionToStringBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.ToStringStyle;&lt;br /&gt;
public class Main {&lt;br /&gt;
  private Integer id;&lt;br /&gt;
  private String name;&lt;br /&gt;
  private String description;&lt;br /&gt;
  public static final String KEY = &amp;quot;APP-KEY&amp;quot;;&lt;br /&gt;
  private transient String secretKey;&lt;br /&gt;
  public Main(Integer id, String name, String description, String secretKey) {&lt;br /&gt;
    this.id = id;&lt;br /&gt;
    this.name = name;&lt;br /&gt;
    this.description = description;&lt;br /&gt;
    this.secretKey = secretKey;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return ReflectionToStringBuilder.toString(this, ToStringStyle.SIMPLE_STYLE, true, true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Main demo = new Main (1, &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Demo = &amp;quot; + demo);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>