I have an ArrayList that I want to be type Instant, but no matter what I try to do on the array it just does not let me convert it to Instant format. The error is that it tries to add a String to an ArrayList of Instants.
@Data
@RequiredArgsConstructor
@AllArgsConstructor
public static class LiveData {
    private final String location;
    private final String metric;
    private Double data = null;
    private Instant timestamp = null;
}
private void onConnectionOpened() {
        try {
            int i = 0;
            final List<Sensor> sensors = clientConnection.querySensors().get();
            final List<String> metric = sensors.stream().map(sensor -> sensor.getLocation()).collect(Collectors.toList());
            final List<String> location = sensors.stream().map(sensor -> sensor.getMetric()).collect(Collectors.toList());
            List<Instant> timestamps = new ArrayList<>();
            List<Instant> times = new ArrayList<>();
            List<Double> datavalues = new ArrayList<>();
            while (i < sensors.size()) {
                final DataPoint data = clientConnection.queryValue(new Sensor(location.get(i), metric.get(i))).get();
                timestamps.add((Util.TIME_FORMAT.format((new Date(data.getTime()).toInstant()))));
                datavalues.add(data.getValue());
                i++;
            }
            i = 0;
            List<LiveData> testcol = new ArrayList<>();
            while (i < sensors.size()) {
                //LiveData temporary = new LiveData(location.get(i), metric.get(i));
                LiveData temporary = new LiveData(location.get(i), metric.get(i), datavalues.get(i), timestamps.get(i));
                testcol.add(temporary);
                i++;
            }
            ObservableList<LiveData> livedata = FXCollections.observableArrayList(testcol);
            Platform.runLater(() ->
                    tvData.setItems(livedata));
            //Thread.sleep(10000);
            //onConnectionOpened();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }
I want to be able to have the ArrayList of Instants and than use it like this:
LiveData temporary = new LiveData(location.get(i), metric.get(i), datavalues.get(i), timestamps.get(i));
For later use in TableView.
I am formatting the Instant objects. I use that format in order to have a nicer output of the actual timestamp because now it looks like this: 2019-07-18T05:35:00Z. And I want it to be 2019-07-18 07:35:00.