3

私はJavaの初心者で、次のコード行に出くわしました:

Button orderButton = (Button)findViewById(R.id.order);

(Button)括弧内にあるとはどういう意味ですか?

そんな中に入れるってどういう用語?

4

4 に答える 4

6

タイプキャストです。結果を typeof(Button) にキャストしています

于 2012-05-11T15:42:45.113 に答える
3

キャストの目的は、実行環境と IDE が findViewById(R.id.order); によって返されるオブジェクトの型を認識できるようにすることです。

findViewById(R.id.order) は、特定の型ではなく汎用オブジェクトを返します。Button には、オブジェクトが参照するアイテムに関連するメソッドが含まれているため、新しい変数 orderButton が正しいメソッドにアクセスできるように、そのタイプを伝える必要があります。

これは簡単なサンプルです

http://www.java-samples.com/showtutorial.php?tutorialid=1170

于 2012-05-11T15:45:12.803 に答える
1

それは型キャストです。はオブジェクトをfindViewById返しますが、Viewオブジェクトが必要ですButton(Button)ビューをボタンにキャストします

于 2012-05-11T15:43:39.620 に答える
1

これは型キャストと呼ばれます。によって返されるオブジェクトは、から拡張されたfindViewById(R.id.order);ものである可能性があります。Buttonコードを書いた人は誰でも、その関数呼び出しによって返されるオブジェクトが実際には のインスタンスであると信じているButtonため、関数の戻り値を のインスタンスに型キャストしていますButton

于 2012-05-11T15:44:21.323 に答える