ArrayList - использовать @override в методе toString()
ArrayList объектов требует, чтобы вывод был в нужном формате, поэтому возникает необходимость модифицировать родительский метод класса Object, не забыв указать, что этот класс наследуется с помощью ключевого слова @override.
У нас есть два класса, Point и Main. Класс Point имеет 2 атрибута: x и y. Как видите, мы использовали ключевое слово override В методе toString() в основном классе. Мы также сохранили экземпляры точечного объекта в ArrayList, а затем прошлись по ArrayList. Вы можете видеть, что выходные данные принимают формат, определенный в методе. toString(). Вы можете запрограммировать этот метод по мере необходимости.
У нас есть два класса, Point и Main. Класс Point имеет 2 атрибута: x и y. Как видите, мы использовали ключевое слово override В методе toString() в основном классе. Мы также сохранили экземпляры точечного объекта в ArrayList, а затем прошлись по ArrayList. Вы можете видеть, что выходные данные принимают формат, определенный в методе. toString(). Вы можете запрограммировать этот метод по мере необходимости.
public class Point {Основной класс:
private int x;
private int y;
public Point(int x, int y){
this.x=x;
this.y=y;
}
@Override
public String toString() {
return "[x= "+this.x+", y= "+this.y+"]";
}
}
import java.util.ArrayList;Run:
public class Main {
public static void main(String[] args) {
ArrayList< Пункт> list = новый ArrayList< Пункт> ()
{
private static final long serialVersionUID = 1L;
@Override
public String toString()
{
return super.toString();
}
};
list.add(new Point(2, 4));
list.add(new Point(1, 6));
list.add(new Point(5, 2));
list.add(new Point(3, 7));
list.add(new Point(8, 9));
System.out.println(list.toString());
}
}
[[x= 2, y= 4], [x= 1, y= 6], [x= 5, y= 2], [x= 3, y= 7], [x= 8, y= 9]]В этом примере ArrayList использует метод toString() объявлен в классе Point. Если мы удалим метод toString() в классе Point мы будем иметь следующий формат:
[Point@4a5f634c, Point@3c7038b9, Point@6b9c18ae, Point@55187eb3, Point@3b26456a]