是否可以在java中创建自己的原始数据类型。比如int,float,double

时间:2013-10-18 06:29:45

标签: java types type-conversion

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

我的声明是。

kilobyte a=10;

有可能吗?

3 个答案:

答案 0 :(得分:4)

没有。 Java不允许这样(即创建一个原语)。但你可以为此创建自己的类。

答案 1 :(得分: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
}

答案 2 :(得分:1)

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