gpt4 book ai didi

java - 管理字符串的有效方法

转载 作者:太空宇宙 更新时间:2023-11-04 09:07:17 25 4
gpt4 key购买 nike

我想打印出我的应用程序的工作流程。我想知道哪种方式更有效或者更好地做事情?这是我的代码:

private void methodOne {
System.out.println("Dummy.class -> methodOne() started");
...
System.out.println("Dummy.class -> methodOne() ended");
}

private void methodTwo {
System.out.println(logMsg("Dummy", "methodTwo") + "started");
...
System.out.println(logMsg("Dummy", "methodTwo") + "ended");
}

private String logMsg(String className, String methodName) {
return className + ".class -> " + methodName + "() ";
}

我应该使用哪一个?是像 methodOne() 那样创建整个字符串更好,还是像 methodTwo() 那样重用其中的一部分更好?

编辑:假设我想在至少 100 个方法中使用 logMsg

最佳答案

好吧,直接回答你的问题:第一种方法显然更快。

您有一个常量字符串,稍后将对其进行分配和重用。编译器/JVM 将处理这一切。

另一方面,在第二种方法中,您可以:

  1. 方法调用
  2. 方法内的字符串连接
  3. 方法外的字符串连接

话虽如此,这两种情况中最“重”的部分是对 System.out.println 的 block IO 调用:)

当使用非常频繁时(业务方法负载较高),字符串连接和多次分配也可能会消耗性能

关于java - 管理字符串的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60075149/

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