Java 持续时间 Class,无法解析为类型

Java Duration Class, cannot resolve to a type

我试图找到 HH:MM:SS 格式的两个 LocalTime 对象之间的时间差异,我的持续时间对象给我错误 Duration.between 无法解析为类型 。 Java 文档中的描述明确指出 LocalTime 对象是有效的——我是否必须将我的对象转换为具有 Duration 区域的 LocalDateTime 对象才能工作?

关于这个问题的唯一其他理论是我将这个 class 放置在我的 Make 文件中,但我认为我的导入会在编译期间解决这个问题。代码如下:

import java.time.*;
import java.time.Duration;


public class Station {
    int stationNumber;
    String stationAddress;
    ArrayList<Driver> drivers;
    ArrayList<Road> roads;          
    double[][] roadMap;             

    public Station(int sNumber, String sAddress) {
        stationNumber = sNumber;
        stationAddress = sAddress;
        drivers = new ArrayList<Driver>();
        
        roads = new ArrayList<Road>(5);
        roadMap = new double[5][5];
    }

    public static void calculateNewTimes(ArrayList<roadDataToBeSorted> delDataIncreasingTime) {
        LocalTime firstStop = LocalTime.parse(delDataIncreasingTime.get(0).rdDeliveryTime);
        LocalTime lastStop = LocalTime.parse(delDataIncreasingTime.get(delDataIncreasingTime.size()-1).rdDeliveryTime);
        Duration duration = new Duration.between(firstStop, lastStop); ***<-----ISSUE***

betweenDurationclass的静态工厂方法,返回一个Duration对象。

因此您不需要使用 new 关键字创建 Duration 对象。

Duration duration = Duration.between(firstStop, lastStop);