java处理可选的原语

时间:2017-03-04 10:49:52

标签: java

我们正在使用Java(1.7)进行申请,我有以下培训课程:

public class Train {

    private String number;

    private String origin;

    private String destination;

    public Train(String number, String origin, String destination) {
        //set the fields
    }

    //other fields

    private int latenessAtOriginInMinutes;//optional Field

    //getters and setters
}

当我实例化对象latenessAtOriginInMinutes时,假设字段Train train = new Train(1234, "A", "B")是可选的, 对于latenessAtOriginInMinutes引用的对象,int将获得值0(这是train类型的默认值), 那么我怎样才能区分“迟到'是真的为零还是由JVM设置的默认值(原始int)?

解决此问题的一种方法是首先通过构造函数设置latenessAtOriginInMinutes=99999(某些高默认值), 但每当我从数据库中检索值时,我需要检查值是否为latenessAtOriginInMinutes != 99999以找到我不喜欢的实际迟到值。

另一种方法是在Java8中使用OptionalInt,但我们目前正在使用Java 1.7。

另一种选择是将latenessAtOriginInMinutes类型声明为整数,但我不确定这是否是最佳选择。

所以,我的问题是,处理latenessAtOriginInMinutes等可选字段的最佳方法是什么?

0 个答案:

没有答案