gpt4 book ai didi

Java在方法中将全局变量转换为局部变量的优点

转载 作者:搜寻专家 更新时间:2023-11-01 02:32:06 25 4
gpt4 key购买 nike

我正在开发一个基于 stock 启动器的 android 启动器。我只是感兴趣为什么有很多全局变量在方法中转换为局部变量,例如

final VelocityTracker velocityTracker = mVelocityTracker;
velocityTracker.computeCurrentVelocity(1000);

不仅仅是

mVelocityTracker.computeCurrentVelocity(1000);

它是一些 android 的东西还是一个通用的 java 规则?当可以直接访问时,分配一个新的 VelocityTracker 是没有意义的。

编辑是的,这段代码被重复了很多次。

最佳答案

如果您多次使用一个字段,这会很有用。一些 JVM 和我认为 Android VM 不会有效地优化对字段的访问。

但是它可能会被过度使用,如果只访问一次我不明白这一点。

当您访问可变字段时,它也很有用。这确保了当您多次使用该字段时,您正在处理同一个对象。例如

volatile String text;

String text = this.text;
if(text != null)
doSomething(text);

如果您没有使用局部变量,text 对于 if 语句可以是非空的,对于 doSomething() 可以是 null

关于Java在方法中将全局变量转换为局部变量的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6801990/

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