1

如何在 java 中创建我自己的数据类型,它将接受从 0 到 1024 的值范围。

我的声明是。

kilobyte a=10;

是否可以?

4

3 回答 3

4

不,Java 不允许这样做(即创建原语)。但是您可以为此创建自己的课程。

于 2013-10-18T06:30:48.680 回答
3

您不能创建自己的原语,但您可以为此创建一个包装器Object

这里的脏例子:

// note that class name doesn't follow Java conventions here
public class kilobyte {
    private int number;

    public kilobyte(Number number) {
        if (number == null) {
            throw new IllegalArgumentException("argument is null");
        }
        else if (number.intValue() > 1024 || number.intValue() < 0) {
            throw new IllegalArgumentException("argument not within 0 < x < 1024 range");
        }
        else {
            this.number = number.intValue();
        }
    }
    // TODO getter/setter
}
于 2013-10-18T06:35:45.717 回答
1

不,您不能创建自己的原始类型,也不能重载运算符,所以这在 java 中是不可能的。

于 2013-10-18T06:31:01.727 回答