在java中,“x=(某物)”是什么意思?

在java中,“x=(某物)”是什么意思?,java,android,syntax,Java,Android,Syntax,我学过Android,但还不懂java,在示例代码中发现了以下语句: TextView mainTextView; mainTextView = (TextView) findViewById(R.id.main_textview); 所以,问题是正如标题所说:什么是=。。。意思?这意味着findViewById方法正在将XML元素强制转换为TextView。为Object TextView创建objectref TextView mainTextView; findViewById是一个具

我学过Android,但还不懂java,在示例代码中发现了以下语句:

TextView mainTextView;
mainTextView = (TextView) findViewById(R.id.main_textview);

所以,问题是正如标题所说:什么是=。。。意思?

这意味着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)
这意味着它返回一个通用的非指定视图

因为您的代码显然需要处理类层次结构TextView中更具体的内容,所以通过在findViewById返回的值之前加上TextView,将其类型转换为TextView


虽然这是一种常见的做法,但它有点危险,因为它假定findViewById返回的值在本例中是TextView类型。如果不是,您将得到一个运行时异常

,它是赋值语句,Java中最基本的构造之一。我建议在尝试编写Android应用程序之前至少学习Java语言的基础知识。将一种类型转换为另一种类型而不是将XML元素转换为TextView。将视图强制转换为文本视图。findViewById返回视图对象视图是XML元素。它在布局文件中声明和访问。视图是Java对象。Android使用XML定义布局和其他项目的值。XML不是Java对象的一种类型。@dharms是的,您是正确的。我只是说对象是从XML派生的。findViewById允许Android运行时基于给定的XML参数填充正确的对象。