"x = (something)" 在 java 中是什么意思?
what does "x = (something)" mean in java?
我学Android不知道java(还),在示例代码中找到了这样的语句:
TextView mainTextView;
mainTextView = (TextView) findViewById(R.id.main_textview);
所以,问题是(如 header 所说):“= ( ... )”是什么意思?
这意味着 findViewById 方法正在将 XML 元素转换为 TextView。
为 Object TextView 创建 objectref
TextView mainTextView;
findViewById 是一个具有参数 R.id.main_textview 的方法,返回值被转换为 TextView 类型并存储在 mainTextView
mainTextView = (TextView) findViewById(R.id.main_textview);
方法 findViewById
具有以下签名:
public View findViewById (int id)
意思是returns一个通用的非指定View
.
因为您的代码显然需要使用更具体的(在 class 层次结构的含义中)TextView
,所以它是 typecasted 到 TextView
通过在 findViewById
.
返回的值之前添加 (TextView)
虽然这是一种常见的做法,但它有点危险,因为它 假设 findViewById
返回的值在这种情况下是类型 TextView
.如果不是,您将得到一个运行时异常 ClassCastException
我学Android不知道java(还),在示例代码中找到了这样的语句:
TextView mainTextView;
mainTextView = (TextView) findViewById(R.id.main_textview);
所以,问题是(如 header 所说):“= ( ... )”是什么意思?
这意味着 findViewById 方法正在将 XML 元素转换为 TextView。
为 Object TextView 创建 objectref
TextView mainTextView;
findViewById 是一个具有参数 R.id.main_textview 的方法,返回值被转换为 TextView 类型并存储在 mainTextView
mainTextView = (TextView) findViewById(R.id.main_textview);
方法 findViewById
具有以下签名:
public View findViewById (int id)
意思是returns一个通用的非指定View
.
因为您的代码显然需要使用更具体的(在 class 层次结构的含义中)TextView
,所以它是 typecasted 到 TextView
通过在 findViewById
.
(TextView)
虽然这是一种常见的做法,但它有点危险,因为它 假设 findViewById
返回的值在这种情况下是类型 TextView
.如果不是,您将得到一个运行时异常 ClassCastException