преобразование объекта [] в тип объекта посредством итерации - PullRequest
0 голосов
/ 26 июня 2019

У меня есть pojo типа

 public class Comain implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private Integer ComainId;

    private String name;

    private String Cescription;


     private boolean  isAvailable ;
     }

Ниже приведен фрагмент кода, через который я извлекаю результаты

   List<Object[]>  d = new ArrayList<Object[]>();
   d = ARepository.getAb();

после отладки. Я проанализировал, что получаюрезультат в следующем формате

 d = {ArrayList}
    > o = {object[4]}
       > o = {Integer}1
       > 1 = "qqq"
       > 2 = "ddddd"
       > 3 = {Boolean} false
     > 1 = {object[4]}
       > o = {Integer}2
       > 1 = "qrtq"
       > 2 = "rrddd"
       > 3 = {Boolean} true

теперь я хочу типизировать массив object [] в тип pojo, который является Comain pojo, теперь, пожалуйста, посоветуйте, как добиться того же самого, хотя я создал объект типа Comain

   Comain C = new Comain ()

debug image

1 Ответ

2 голосов
/ 26 июня 2019

Если порядок массива объектов фиксированный , то вы можете просмотреть массив и использовать соответствующие индексы.

List<Comain> comains = new ArrayList<>();
for (Object[] objects : d) {
    comains.add(new Comain((Integer) objects[0], (String) objects[1], (String) objects[2], (Boolean) objects[3]));
}

Конечно, вы должны добавить конструктор для класса Comain.

public Comain(Integer comainId, String name, String cescription, boolean isAvailable) {
    this.ComainId = comainId;
    this.name = name;
    this.Cescription = cescription;
    this.isAvailable = isAvailable;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...