有没有办法为我创建的类使用自动装箱?例如,我有这个子类Number
.
public class UnsignedInteger extends Number {
int n;
public UnsignedInteger(int n) {
if(n >= 0)
this.n = n;
else
throw new IllegalArgumentException("Only positive integers are supported");
}
}
Run Code Online (Sandbox Code Playgroud)
现在,UnsignedInteger i = new UnsignedInteger(88);
工作得非常好,但有没有办法让这个编译:UnsignedInteger i = 88;
?它不适合我.提前致谢!
rge*_*man 18
简而言之,没有.没有办法让它编译.
Java仅定义了一组有限的预定义装箱转换.
拳击转换将基本类型的表达式转换为引用类型的相应表达式.具体来说,以下九个转换称为装箱转换:
从类型布尔值到类型布尔值
从类型字节到类型字节
从短类型到短类型
从类型char到类型字符
从int类型到Integer类型
从类型long到类型Long
从类型float到类型Float
从double类型到Double类型
从null类型到null类型
另外,有人可能会考虑重载=
操作符来执行此转换,但Java中不支持运算符重载,这与C++不同,在C++中这是可能的.
因此,您无法在Java中进行转换.
归档时间: |
|
查看次数: |
3776 次 |
最近记录: |