假设 2 种不同的方法——一种是静态的,一种是非静态的——需要一个实例变量。
该变量在方法中使用 3-5 次不同的时间来进行比较。
变量不会以任何方式更改。
变量的类型(字符串、集合、集合等)也会对其编码方式产生任何影响。
在私有方法(静态和非静态)中使用实例变量的最佳/正确方法是什么?
- 作为方法参数传递
- 本地存储,使用获取值的方法——this.getClaimPropertyVertices();
- 通过获取值本地存储 - this.claimPropertyVertices;
- 在方法中直接使用实例变量
当创建一个局部变量来存储值时,如果变量不会被更改,“final”关键字将提供任何优势。
编辑1:根据评论,我正在添加附加信息该值无法在方法中本地创建。它必须来自类或类访问的其他方法。
我基于答案的解决方案:
基于@EricJ 的答案。和@Jodrell。我选择了选项 1,并将其创建为私有静态方法。我还在这里找到了一些细节来支持这一点。