有谁知道与 setter 相比,在构造函数(10+)中使用许多参数对性能有何影响?
我的情况是,如果没有任何这些参数,模型对象将无效,因此我使用单个构造函数。
我知道这两种方式都没有显着差异,但我想问一下是否有人知道这两种情况的实际情况。
我要求性能,因为该应用程序是 Android 应用程序,可以在没有 JIT 的情况下在旧设备上运行。
如果我们知道最优解就好了。
最佳答案
使用 setter 与构造函数的性能影响可以忽略不计,因为在这两个实例中发生的事情大致相同:传递给方法的数据存储在实例变量中。
如果使用 10 个 setter,您需要为 9 个额外的方法调用付出代价,但它们非常便宜,您不太可能发现任何差异,尤其是当它们被 JIT 编译器内联时。
逻辑上的影响要严重得多:如果你的对象在你设置所有十个实例变量之前是无效的,那么你肯定需要使用具有十个参数的构造函数:性能增益,无论真实与否,都是次要的逻辑完整性你的类(class),这不应该受到损害。
关于java - 在构造函数中使用多个参数的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9329789/