小编Phi*_*ndt的帖子

具有前导零的Int - 意外结果

鉴于以下示例:

public class Main {
    public static void main(String[] args) {
        System.out.println(1234);
        System.out.println(01234);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

1234
668
Run Code Online (Sandbox Code Playgroud)

为什么?

java

8
推荐指数
2
解决办法
992
查看次数

可选的班级成员

我从XML文件导入数据以在内部使用它.现在有一个uint值,这是(根据XSD)不需要的.现在问题是:如何在我的类中映射此行为(不清楚,如果Value存在与否,但我需要在运行时知道)

基本上我看到3个解决方案:

解决方案1:使用我们知道它们无效的值将值标记为"未设置":

public class Solution1 {
    private int optionalVal;

    public boolean isSetOptionalVal() {
        return (optionalVal>=0);
    }

    public void setOptionalVal(int val) {
        optionalVal = val;
    }

    public void unSetOptionalVal() {
        optionalVal = -1;
    }

    public int optionalVal() {
        if(isSetOptionalVal()) {
            return optionalVal;
        } else {
            return -1;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

解决方案2:使用盒装类并null在值为"未设置"时将其设置为:

public class Solution2 {
    private Integer optionalVal;

    public boolean isSetOptionalVal() {
        return (optionalVal!=null);
    }

    public void setOptionalVal(int val) {
        optionalVal = val;
    }

    public void unSetOptionalVal() { …
Run Code Online (Sandbox Code Playgroud)

java oop

2
推荐指数
1
解决办法
679
查看次数

标签 统计

java ×2

oop ×1