我想知道是否有办法在java中自己转换为整数。我的意思是一个与字符串转换(toString)的实现相当的解决方案。我希望我的类在等式中被解释为整数而不需要调用特殊函数。
class MyClass(){
private int number;
MyClass(int n){
this.number = n;
}
public int toInteger(){
return number
}
}
用法:
MyClass a = new MyClass(2);
int result = 1+a;
结果将是3。
答案 0 :(得分:3)
Java不允许运算符重载/覆盖。你不能这样做。
答案 1 :(得分:2)
您正在描述operator overloading,而这在Java中是不可能的。最接近的是子类化Number,但+
不能使用它。对于String
s +
有效,因为它已作为语言中的特殊情况构建。没有办法将+
扩展到其他任何东西。
当然,对于您的班级,int result = 1 + a.toInteger();
有效。只需要一点额外的工作。
答案 2 :(得分:0)
Java不是C ++,你不能重载像Java中的'+'这样的运算符
答案 3 :(得分:0)
这不能在java中完成。如果你很好奇,请查看这篇文章 Why doesn't Java offer operator overloading?解释了无法完成的原因,并对java和c ++方法进行了比较