相关疑难解决方法(0)

在Java中使用final关键字可以提高性能吗?

在Java中,我们看到许多final可以使用关键字的地方,但它的使用并不常见.

例如:

String str = "abc";
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)

在上述情况下,str可以final但通常不会这样做.

当一个方法永远不会被覆盖时,我们可以使用final关键字.类似地,如果一个类不会被继承.

在任何或所有这些案例中使用final关键字是否真的能提高性能?如果是这样,那怎么样?请解释.如果正确使用final真正重要的性能,应在Java程序员开发什么习惯,使关键字的最好用?

java final

332
推荐指数
8
解决办法
8万
查看次数

为什么在方法参数中使用Final

当我编写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;
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,getView()方法有像int position,View convertView,ViewGroup parent这样的参数.我的观察是在我开始使用位置变量时onclick(),Eclipse抛出编译错误并要求将位置作为final.我为什么要把它作为最终版?AFAIK final用于常量.

java android

0
推荐指数
2
解决办法
2363
查看次数

标签 统计

java ×2

android ×1

final ×1