Добавление элемента в листинг
Есть такой класс
class Info {
String one, two, three;}
И есть динамический листинг
private ArrayList <Info> info = new ArrayList <Info> ();
И сейчас, чтобы добавить новый элемент массива я использую метод дилетанта
public void onClick (View v) {
int i = info.size ();
info.add (new Info ());
info.get (i).one = "one";
info.get (i).two = "two";
info.get (i).three = "three";
}
И я хотел узнать, как в java немного видоизменить этот код? Когда я работал с C#, на сколько я помню, такая операция делалась подобным образом
public void onClick (View v) {
info.add (new Info () {
one = "one";
two = "two";
three = "three";
});
}
Ответы (1 шт):
Автор решения: woesss
→ Ссылка
На java у вас есть несколько вариантов.
- Без изменения класса
Info:
public void onClick (View v) {
Info i = new Info();
i.one = "one";
i.two = "two";
i.three = "three";
info.add(i);
}
- в том же стиле, только с сеттерами.
- Добавляем конструктор:
class Info {
String one, two, three;
Info(String one, String two, String three) {
this.one = one;
this.two = two;
this.three = three;
}
}
И добавление в коллекцию будет наиболее лаконичным
public void onClick (View v) {
info.add(new Info("one", "two", "three"));
}