java - 什么时候创建临时辅助变量有意义?

标签 java

我想知道在哪些情况下您更愿意创建某种“辅助”变量来访问可能在方法中使用 2 次或更多次的值。

我在下面的片段中遇到了这个问题:什么更好:两次访问 Listsize 值,或者创建一个 Integer 保存列表大小的变量?

List<String> list;

private myIndexHelper() {
    if (list.size % 2 == 0) {
        return PREFIX + list.size;
    }
    return "";
}

private myIndexHelper() {
    int size = list.size;
    if (size % 2 == 0) {
        return PREFIX + size;
    }
    return "";
}

我知道这可能是过度优化。但总的来说(忽略性能):您更愿意多次访问 list.size 属性,还是创建一个保存大小的变量?

最佳答案

我们没有“更好”的方法:

  1. 当您调用 list.size 或本地 size 参数时,它具有相同的性能
  2. 根据 Doug Lea , declaring a local parameter as final可能会导致性能提升
  3. “易于使用”的唯一方面是当您想要一个“更短”的参数时,因此使用:本地 size 参数而不是 myListOfReallyNiceIntegers.size 会更容易读/写(使用 for 循环等)。

关于java - 什么时候创建临时辅助变量有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19816953/

相关文章:

java - 在分配大量字符串数据的应用程序中优化字符串数据的最佳方法

java - 如何将 RealVector 与 RealMatrix 相乘?

java - 使用java从XML中查找重复的实体标签

java - 使用 Accept 作为 text/csv 和 content-Type 作为 application/json 对 REST API 进行 GET 调用。响应应该采用什么格式?

java - String[]数组单独取出项目

java - 使用 ReadObject 和 WriteObject 的自定义序列化

java - 元数据和注释定义

java - Java : Special type, bad operand type for binary operator

java - [GLPK][Java] 整数变量问题

java - 改造 2.0 如何打印完整的 json 响应?