1

我是Java新手(是的,英语也是=))。类方法名称前括号中的前缀有什么作用?例如,

(EditText)findViewById(R.id.text);

R.id.text是参数,但(EditText)前缀是什么?它做什么?

4

3 回答 3

3

这就是你cast在Java中对象的方式。通常,如果方法声明返回通用类型,并且您希望将返回对象用作更专业的类型(并且您知道它实际上是此专用类型的实例),您会这样做。例如,如果您有一个返回 的方法Object,但您知道该对象实际上是 a String,并且想将其用作 a String,您可以:

String s = (String)myObj.doSomethingThatReturnsObject();

如果你不做演员表,那必须是

Object o = myObj.doSomethingThatReturnsObject();
于 2013-04-27T17:47:11.123 回答
1

它将方法的结果转换为 EditText 类。这意味着您将能够将其用作该类的对象,但如果返回的对象不是 EditText 的实例或其派生类型,它将失败。

因此,该方法可能会返回一个接口引用,您可以将其强制转换为该接口的实现类,以使用该接口上不可用的行为。

于 2013-04-27T17:50:45.277 回答
0

(EditText) 前缀尝试在 EditText 类型中强制转换返回对象

于 2013-04-27T17:48:39.503 回答