Castowanie typu ze zmiennej do Apache Poi

Castowanie typu ze zmiennej do Apache Poi
AS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Witam ;)
Mam zagwozdkę. Chciałbym aby odpowiednie dane były odpowiednio castowane.

Dobra do rzeczy. Pomysłem moim jest mapa

Map<Integer, ExcelColumn<?>> map = Map.of(
1 , new ExcelColumn<>("ID , Integer.class),
2, new ExcelColumn<>("Inna kolumna", String.class)
)

Klasa ExcelColumn
class ExcelColumn<T>{
String columnName;
Class<T> type;
}

I teraz w petli chciałbym zrobić coś takiego

cell.setCellValue((map.get(i).getType) obj)

Czy jest jakiś sposób aby to ogarnąć w taki sposób ?

Grzyboo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 206
0

Nie, wyznacz sobie jakiś interfejs i jakieś wrappery na wartości

Kopiuj
interface CellValue {
    void fill(Cell cell);
}
Kopiuj
public class IntegerCellValue implements CellValue {
    private final int value;

    public IntegerCellValue(int value) {
        this.value = value;
    }

    @Override
    public void fill(Cell cell) {
         cell.setCellValue(value);
    }
}

Wtedy możesz sobie przechowywać listę/mapę CellValue i przeiterować cellValue.fill(cell)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.