2011-12-21 27 views
1

javaで整数に変換する方法があるのだろうかと思います。私は文字列変換(toString)の実装に匹敵する解決策を意味します。特別な関数を呼ぶことなく、クラスを方程式の整数として解釈したい。Java変換からインテグレータへ

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; 

結果は、Javaは、オペレータoverdloading /オーバーライドすることはできません3.

+0

Javaでこれを行うことはできません。 – unbeli

答えて

2

あなたはoperator overloadingを記述しているに「+」のような演算子をオーバーロードすることはできませんC++ではありません、それはJavaではできません。最も近いのはNumberのサブクラス化ですが、+はそれに対応していません。 Stringの場合、+は言語の特殊なケースとして組み込まれているために機能します。 +を他のものと連携させる方法はありません。

もちろん、あなたのクラスではint result = 1 + a.toInteger();が動作します。ほんの少し余分な仕事。

3

だろう。あなたはこれをすることはできません。

+3

javaは**カスタム**演算子のオーバーロードを許可していません。オーバーロードが組み込まれています.. – amit

0

これはjavaでは実行できません。好奇心が強い場合は、 Why doesn't Java offer operator overloading?をチェックしてください。なぜそれができないのかを検証し、javaとC++のアプローチを比較します。