gpt4 book ai didi

java - 返回 boolean 变量或返回条件都相同吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:01:17 25 4
gpt4 key购买 nike

我一直在评论不要在 return 语句中使用变量,而是直接在 return 语句中使用条件。下面代码中的第 3 行和第 4 行有什么区别吗?

String str = "Hello Sir";
boolean flag = str.contains("Hello");
return(flag);
// instead ask to use below
return(str.contains("Hello"));

我更喜欢使用变量,因为在复杂的计算中它们有助于调试。

最佳答案

这里真的没有区别。该变量位于堆栈中,直接返回的值也是如此。

因此,从理论上讲,它们之间可能存在细微的性能差异。

但请放心:这里的可读性更为重要,因此我同意您的看法:您可以使用这样的附加变量,以帮助读者。但是,当您遵循简洁代码原则时,另一种选择是使用计算该条件并返回结果的方法。

请注意:“常见”做法是避免额外的变量,因此很多工具(例如 PMD 甚至 IDE)建议您直接返回(参见here以讨论这方面的问题)。

最后,回到性能上。如果你的方法被调用得足够频繁,JIT 无论如何都会内联/编译它,并对其进行优化。如果该方法的调用频率不够高,我们会在意多少纳秒的执行时间......

关于java - 返回 boolean 变量或返回条件都相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51245666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com