首页 > Java 写一起和分开写有没有效率快慢之分

Java 写一起和分开写有没有效率快慢之分

javaInteger fileId = pin.getFileId();
File file = fileService.get(fileId);
pin.setFile(file);
javapin.setFile(fileService.get(pin.getFileId()));

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


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


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


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


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


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


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


第一种会产生中间变量,会占用一点点点多余的内存空间,可以忽略不计。
比起可读性,这点小牺牲是值得的。


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


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


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


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

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

【热门文章】
【热门文章】