Java转换为Integer?

时间:2011-12-21 11:14:56

标签: java type-conversion

我想知道是否有办法在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。

4 个答案:

答案 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 ++方法进行了比较