Java-使用final和不使用final,这两种设计方式有什么不同?

发布于 2016-11-01 00:19:24 字数 584 浏览 1246 评论 3

最近在看afinal这个开源项目的源码,其中一个函数的写法让我有点疑惑:

    /**
* Get from memory cache.
*
* @param data Unique identifier for which item to get
* @return The bitmap if found in cache, null otherwise
*/
public Bitmap getBitmapFromMemCache(String data) {
if (mMemoryCache != null) {
final Bitmap memBitmap = mMemoryCache.get(data);
if (memBitmap != null) {
return memBitmap;
}
}
return null;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

想挽留 2017-05-29 00:05:13

final,static等还是会带来性能的提升的,只不过现在桌面和服务器计算已经不是资源有限的场景了,所以很多app倾向于关注功能而不是性能。
在一些嵌入式场合还是要精打细算的.

夜无邪 2017-05-10 22:58:55

1、fianl的引用的变量放在常量池中的。
2、就是从语法上约束了变量的一致性。例如在方法中调用内部内,传递的参数必须是final的,就是出于此目的。

从上述的例子来看,这两种写法没什么区别!

夜无邪 2017-03-23 19:55:10

如果没有任何上下文环境,就单纯讨论这两个方法.第一个方法较第二个相比,没有任何好处,而且有些画蛇添足.这段代码应该是比较久远了,final主要起了虚拟机优化的作用,但是以现在的眼光来看,毫无意义.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文