Java 写一起和分开写有没有效率快慢之分
迷茫
迷茫 2017-04-17 13:38:22
[Java讨论组]
javaInteger fileId = pin.getFileId();
File file = fileService.get(fileId);
pin.setFile(file);
javapin.setFile(fileService.get(pin.getFileId()));

这两个有效率快慢之分,感觉第2种要快一些

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(11)
怪我咯

最大的区别是出异常,log里只记了一个出错行号的时候。

大家讲道理

对现代编译器来说,这两种写法应该没有区别吧
个人建议第一种写法,一是因为易于阅读,二是调试的时候方便看中间步骤的结果

PHP中文网

两种写法的效率可以忽略不计。
看了楼上这么多支持第一种写法的意见,其实我是更倾向第二种写法的。
1.首先要看变量fileId和file是否在其他地方有用到,如果只用在setFile方法里面,那可以取消这些中间变量的定义(这样可以少费点脑筋想变量名,取变量名经常是编程一大难题-_-)。
2.getFileId这个方法从方法名就可以知道获得的是一个fileId,所以再创建个变量fileId没什么必要。
3.通过setFile方法可以知道传入的参数是一个File对象,所以也没有必要再创建个变量file。
4.第二种写法看起来更加简洁。

很多人会觉得第二种写法不好调试,其实在IDEA中及时不提取变量也可以很方便地查看中间变量的值:

巴扎黑

完全不用考虑效率,可以认为是一样的,主要是看你是否后面还会用到这些方法的返回值。个人感觉第一个结构比较清晰,推荐使用。还有,有考虑因为这个性能问题的时间,还不如去在其他方面去提升。

黄舟

将两种操作各运行1000000次,然后比较时间即可。结果是第一种似乎总是比第二中慢,但是,不超过50ms,因此,没有较大的影响,相比较而言,第一种可读性更强。

PHP中文网

我认为在这种较小的语句级的效率影响并不明显,应该把更多的经历放在算法和架构上,这个级别上的效率会有数倍的差距。

巴扎黑

写代码不只是为了效率,代码要最求更加优雅,阅读起来才不特么费劲。

ringa_lee

刚看了《黑客与画家》,“程序写出来是给人看的, 碰巧机器也能运行”

迷茫

按说法,书写应该是第一种,也就是可读性,可维护性为重,第二种则是编译器要干的事

PHP中文网

都用java了这点点效率影响不大``!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号