gpt4 book ai didi

java - 为什么方法参数中要用Final

转载 作者:行者123 更新时间:2023-12-01 06:28:01 24 4
gpt4 key购买 nike

在编写 android 代码时,我遇到了以下事情

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

convertView = _inflater.inflate(R.layout.abstract_list_row_item, null);
move.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// if btn is clcked then data is changed an we need to refresh framents
MainAppDataController.getInstance().setIsDataChanged(true);
callWhiteListDB = new CallWhiteListDB(_context);
callWhiteListDB.openToWrite();
callWhiteListDB.insert(allContacts.get(position).name, allContacts.get(position).number);
callWhiteListDB.close();

callBlackListDB = new CallBlackListDB(_context);
callBlackListDB.openToWrite();
callBlackListDB.deleteSingleItem(allContacts.get(position).dbId);
callBlackListDB.close();
populateList(position);
notifyListView(view);
}
});
return convertView;

在上面的例子中getView()方法具有 intposition、ViewconvertView、ViewGroupparent 等参数。当我开始在 onclick() 中使用位置变量时,我的观察是,Eclipse 抛出编译错误并要求将位置设置为最终位置。为什么我要把它定为最终的? AFAIK Final 用于常量。

最佳答案

final 用于方法参数中,以使引用在传递到方法后不可更改。这是保护传递参数的特殊方法。因此,接收方法将无法使用新对象或值重新初始化它

关于java - 为什么方法参数中要用Final,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20795190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com