私はJavaの初心者で、次のコード行に出くわしました:
Button orderButton = (Button)findViewById(R.id.order);
(Button)
括弧内にあるとはどういう意味ですか?
そんな中に入れるってどういう用語?
タイプキャストです。結果を typeof(Button) にキャストしています
キャストの目的は、実行環境と IDE が findViewById(R.id.order); によって返されるオブジェクトの型を認識できるようにすることです。
findViewById(R.id.order) は、特定の型ではなく汎用オブジェクトを返します。Button には、オブジェクトが参照するアイテムに関連するメソッドが含まれているため、新しい変数 orderButton が正しいメソッドにアクセスできるように、そのタイプを伝える必要があります。
これは簡単なサンプルです
http://www.java-samples.com/showtutorial.php?tutorialid=1170
それは型キャストです。はオブジェクトをfindViewById
返しますが、View
オブジェクトが必要ですButton
。(Button)
ビューをボタンにキャストします
これは型キャストと呼ばれます。によって返されるオブジェクトは、から拡張されたfindViewById(R.id.order);
ものである可能性があります。Button
コードを書いた人は誰でも、その関数呼び出しによって返されるオブジェクトが実際には のインスタンスであると信じているButton
ため、関数の戻り値を のインスタンスに型キャストしていますButton
。