java什么样的方法调用方法给了我最好的性能
我想问的是如果我这样做了
final Cat c = getBlackCat();
polishCat(c);
或
polishCat(getBlackCat());
这些都被编译成相同的东西吗?最佳做法是什么?内存方面和cpu方面更好的是什么
你可以在下面搜索框中键入要查询的问题!
我想问的是如果我这样做了
final Cat c = getBlackCat();
polishCat(c);
或
polishCat(getBlackCat());
这些都被编译成相同的东西吗?最佳做法是什么?内存方面和cpu方面更好的是什么
# 1 楼答案
在字节码级别,您必须始终明确地存储一个方法调用的结果,以便能够将其提供给下一个方法调用。你可以把java中的“嵌套调用”习惯看作是语法上的糖。是的,这两段代码是等价的
哪一种在文体上更受欢迎尚有待商榷,也有支持这两种观点的论据。我支持这样一种观点,即每次在代码中显式地命名一个事物时,读者就有义务记住该名称及其所指内容。如果变量不是final,那么读取器还必须仔细跟踪变量的所有用法,以免在其他地方出现另一个赋值,即使是偶然的(例如,使用
=
而不是==
)。如果您内联调用方法,就不会施加这种认知负载