gpt4 book ai didi

java - 重复函数调用与将结果存储在临时变量中

转载 作者:行者123 更新时间:2023-12-01 22:43:25 25 4
gpt4 key购买 nike

我的代码如下:

class Main {
public static void main(String args[]){
String[] s1 = {"This ", "is ", "a ","sentence ", "."};
String sentence = Arrays.toString(s1);
System.out.println(sentence.substring(4, sentence.length()-1));
}

private static <T> String arrayToString(T[] t){
StringBuilder sb = new StringBuilder();
for(T val: t){
sb.append(val.toString());
}
}
}

我尝试在一行中执行上述操作:

System.out.println(arrayToString(s1).substring(
4, arrayToString(s1).length()));

我的问题是,我多次调用 arrayToString() 方法以避免存储对计算值的引用。

  1. arrayToString 计算会执行多次吗?
  2. Java 中是否有某种机制可以减少这些多次调用的损失?
  3. 使用以前版本的代码是否会更好?

最佳答案

  1. 变量是最直接的方法。您还可以实现某种形式的缓存/内存,以便当您调用函数时,它会检查过去是否已经计算过结果并直接返回结果。
  2. 是的——它在很多方面都更好。一方面,您最终不会调用 arrayToString 两次,另一方面,它更具可读性,因为我们现在知道 arrayToString 正在返回某种“类似句子” ' 目的。使用变量可以添加更多有用的上下文,并使代码更具可读性。

关于java - 重复函数调用与将结果存储在临时变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25738252/

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