Как изменить мой вывод toString () - PullRequest
0 голосов
/ 10 марта 2011

Прямо сейчас метод toString() по умолчанию отображает внутренний идентификатор объекта.

Как сделать так, чтобы вместо метода toString() отображались переменные объекта?

спасибо!

Ответы [ 4 ]

2 голосов
/ 10 марта 2011

Вам необходимо переопределить toString() для класса, о котором вы хотите получить информацию.

Например:

class Foo {
    private String myProperty = "bar";

    @Override
    public String toString() {
        return myProperty;
    }
}

В приведенном выше примере вы бысм. следующее:

new Foo().toString(); // outputs "bar"
1 голос
/ 10 марта 2011
@Override
public String toString()
{
  String yourString = "";

  //Do things to get what you want

  return yourString;
}
1 голос
/ 10 марта 2011

вам нужно переопределить метод toString в вашем классе.В нем вы возвращаете строку, которую вы создадите на основе свойств класса.

Так что, если ваш класс был

class Person {
    String firstName;
    String lastName;
}

, вы бы добавили

public String toString() {
    return firstName + " " + lastName;
}

, это простобазовый пример.В реальном коде я бы использовал метод String.format () или, возможно, инструмент apache StringBuilder, который автоматически генерирует строку для любого объекта.

0 голосов
/ 10 марта 2011

Унаследуйте класс и переопределите его метод toString (), чтобы отобразить все, что вы хотите.

...