我可以自动创建一个Java Number子类框和取消框吗?

时间:2012-07-03 16:20:46

标签: java

我正在创建一些类来表示Java的无符号数,并从Number派生它们。我的目标之一是将它们设置为box和unbox原始值,但我无法使其工作,也找不到任何关于如何在其他地方实现此目的的讨论。

可以这样做,如果是这样的话?

这是我的工作代码!

public class Unsigned8 extends Number implements Comparable<Unsigned8>{

public static final long MAX_VALUE = 256L;
public static final long MIN_VALUE = 0;
private long _Value;


public Unsigned8(long value)
{
    this._Value = value;
}

@Override
public byte byteValue() {
    return (byte) _Value;
}

@Override
public short shortValue() {
    return (short) _Value;
}

@Override
public int intValue() {
    return (int) _Value;
}

@Override
public long longValue() {
    return (long) _Value;
}

@Override
public double doubleValue() {
    return _Value;
}

@Override
public float floatValue() {
    return _Value;
}

@Override
public int compareTo(Unsigned8 target) {
    return (int) (_Value - target._Value);
}

}

2 个答案:

答案 0 :(得分:5)

你做不到。我所做的是为short intlong使用Unsigned帮助程序类,这样就不会产生支持unsigned类型的包装器的开销。请参阅链接以获取示例。

答案 1 :(得分:3)

没有。您将获得基元及其包装器之间的关系:

Primitive type  Wrapper class
boolean         Boolean
byte            Byte
char            Character
float           Float
int             Integer
long            Long
short           Short

它们仅限于这些类型。文档here