java如果我想在一个新线程中做一些事情,为什么我必须将最后一个对象发送到参数列表?
例如,我尝试在单独的线程中执行一些操作:
public void shareQuote(final Context context, final ArrayList<Quote> quotes, final int number) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
Toast warningWindow = Toast.makeText(context, context.getString(R.string.shareWarning), Toast.LENGTH_SHORT);
} else {
new Thread(new Runnable() {
@Override
public void run() {
// Creates new intent for sharing
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType(SHARE_TYPE_TEXT);
String subject = context.getString(R.string.quotes_author);
String sharingQuote = "\"" + quotes.get(number).getText() + "\"" + "\n";
}
}).start();
}
如果我想在新线程中执行某些操作,为什么我必须将最终对象发送到参数列表
# 1 楼答案
因为anonymous classes只能通过设计访问
final
参数(和final
局部变量)