我是Java新手(是的,英语也是=))。类方法名称前括号中的前缀有什么作用?例如,
(EditText)findViewById(R.id.text);
R.id.text
是参数,但(EditText)
前缀是什么?它做什么?
这就是你cast
在Java中对象的方式。通常,如果方法声明返回通用类型,并且您希望将返回对象用作更专业的类型(并且您知道它实际上是此专用类型的实例),您会这样做。例如,如果您有一个返回 的方法Object
,但您知道该对象实际上是 a String
,并且想将其用作 a String
,您可以:
String s = (String)myObj.doSomethingThatReturnsObject();
如果你不做演员表,那必须是
Object o = myObj.doSomethingThatReturnsObject();
它将方法的结果转换为 EditText 类。这意味着您将能够将其用作该类的对象,但如果返回的对象不是 EditText 的实例或其派生类型,它将失败。
因此,该方法可能会返回一个接口引用,您可以将其强制转换为该接口的实现类,以使用该接口上不可用的行为。
(EditText) 前缀尝试在 EditText 类型中强制转换返回对象