Как я называю инстанцию ArrayList с другого класса?

У меня есть переменная ArrayList в классе и желании instanciar этот контроль, чтобы это использовать в другом классе. Переменная ArrayList lst. Какая-то идея как реализовывать это задание?

List<TablaJira> lst = new ArrayList<>();
TablaJira ji = null;
for (int i = 1; i < firstSheet.getLastRowNum(); i++) {
    fila = firstSheet.getRow(i);
    ji = new TablaJira();
    ji.setFecha(fecha);
    for (int j = 0; j < fila.getLastCellNum(); j++) {
        Cell celda = fila.getCell(j);
        if (j == 0) {
            if (celda == null || celda.getCellType() == Cell.CELL_TYPE_BLANK) {
                break;
            }
        }
        switch (j) {
            case 0:
                if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
                    ji.setProyecto(celda.getStringCellValue());
                }
                break;
            case 1:
                if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
                    ji.setTipo(celda.getStringCellValue());
                }
                break;
            case 2:
                if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
                    ji.setClave(celda.getStringCellValue());
                }
                break;
            case 3:
                if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
                    ji.setTitulo(celda.getStringCellValue());
                }
                break;
            case 4:
                if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
                    ji.setNombres(celda.getStringCellValue());
                }
                break;
            case 5:
                if (celda.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                    ji.setTiempo_horas((int) celda.getNumericCellValue());
                }
                break;
        }
    }
    if (ji.getNombres() != null) {
        lst.add(ji);
    }
}
Collections.sort(lst, TablaJira.comparet);
for (int i = 0; i < lst.size(); i++) {
    String nombre = lst.get(i).getNombres();
    if (nombre == null ? nombre_ant != null : !nombre.equals(nombre_ant)) {
        con = 1;
        lst.get(i).setPosicion(con);
        nombre_ant = nombre;
    } else {
        con++;
        lst.get(i).setPosicion(con);
    }
}
lst.forEach(ReadExcel2::guardarTblJira);
1
задан 17.01.2017, 21:48
0 ответов

Привет, как тебя показывает приятель, instanciar объект значит создавать новый объект, а именно, если это список, и инстанции используя размещенное слово new в двух классах, эти будут полностью различными одна из другой. То, что я рекомендую тебе, если ты хочешь использовать список сохраняя Ваши данные в различных классах, состоит в том, чтобы использовать главный файл рисунка Синглтон. Здесь я оставляю тебе пример как создавать это.

static List<TablaJira> lstSingleton;
 public static List<TablaJira> getlstSingleton {
        if(lstSingleton == null){
            lstSingleton = new List<TablaJira>();
        }
        return lstSingleton;
    }

Будь готова ты она сможешь соглашаться с любого класса используя метод getlstSingleton ().

Я надеюсь, что он тебе полезен.

0
ответ дан 03.12.2019, 17:38