2

Kent Becks Book TDD by Exampleで作業しているときに、理解できない Java コードに遭遇しました。

public boolean equals(Object object) {
    Dollar dollar= (Dollar) object;
    return amount == dollar.amount;
}

Dollar dollar= (Dollar) object;誰かが括弧の意味を説明してくれませんか?

4

3 に答える 3

6

これは明示的な typecastです。基本的には、「'object' は type で宣言されていますがObject、実際には型であることはわかっているDollarので、変数 'dollar' に割り当てても問題ありません」ということです。

括弧がないと (実際には括弧であり、括弧はそれぞれ「角括弧」または「山括弧」のように見えます)、コンパイラはその行でエラーを報告します[]<>

于 2011-07-15T02:44:50.503 に答える
1

オブジェクトを括弧内の型にキャストします。

objectあなたの例では、彼らはタイプであるべきJavaを伝えますDollar

于 2011-07-15T02:45:14.127 に答える
0

関数はパラメーターにequals()「Object」型を使用するため、実際にクラスのドル変数を伝えます。他の返信が言ったように、この表記法は型キャストと呼ばれ、ある変数を別の変数に割り当てるときに正しい型を使用していることを確認するために Java コンパイラによって使用されます。object(Dollar) objectobjectDollar

価値のあることとして、初心者のプログラマーにとって、このようなことは非常に混乱するように思えるかもしれませんが、しばらくすると理解できるようになります。

于 2011-07-15T02:48:45.883 に答える