whi*_*win 2 java android android-adapterview
那么为什么不总是调用toString?这是使用Android API的示例.
例如
@Override
public void onItemSelected(AdapterView<?> adapterView, View view,
int position, long id) {
Toast.makeText(this, adapterView, Toast.LENGTH_LONG).show();
}
Run Code Online (Sandbox Code Playgroud)
不会编译.但是,如果我将其更改为
@Override
public void onItemSelected(AdapterView<?> adapterView, View view,
int position, long id) {
Toast.makeText(this, adapterView.toString(), Toast.LENGTH_LONG).show();
}
Run Code Online (Sandbox Code Playgroud)
它会.实际差异是什么?
adapterView不是String.
toString()编译器不会自动调用它来执行强制转换 - 这会破坏类型安全性.只有在有+""例子时,编译器才会自动调用toString().
你总是这么说什么?toString()只是一个返回String对象表示的方法.将Toast.makeText需要一个String参数,但在第一种情况下,你给的对象AdapterView类.所以它不会编译:)
| 归档时间: |
|
| 查看次数: |
2475 次 |
| 最近记录: |