2011-12-21 81 views
1

我不知道是否有办法在java中自己转换为整数。我的意思是与字符串转换(toString)的实现类似的解决方案。我希望我的类在方程中被解释为整数而不用调用特殊函数。Java转换为Integer?

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

你不能在Java中这样做。 – unbeli 2011-12-21 11:17:27

回答

2

你描述operator overloading重载运算符,如“+”,而这是不可能在Java中。最接近的东西是子类Number,但+不适用于它。对于String s +可行,因为它已经作为语言中的特殊情况构建。没有办法延伸+与其他任何东西一起工作。

当然,你的班级,int result = 1 + a.toInteger();的作品。只是一些额外的工作。

3

Java不允许运营商overdloading /压倒一切的。你不可以做这个。

+3

java不允许**自定义**运算符重载。有一个内置的超载.. – amit 2011-12-21 11:22:36

0

Java不是C++,你也不会在Java