为带有可选参数的最终私有字段设置默认实例的最佳方法是什么?

零分度

给定一个带有最终私有字段_bar的类:

class Foo() {

final Bar _bar;

    Foo({Bar bar}) : _bar = bar {

        //error: list cannot be used as setter, it is final
       _bar = new Bar();
    }

}

尝试在参数列表中进行设置会导致此错误

//error: default values of an object must be constant
Foo({Bar bar: new Bar()}) : _bar = bar ..

我想保留可选参数,以便可以在单元测试期间注入模拟。最好的方法是什么?

亚历山大·阿杜因

class Foo {
  final Bar _bar;
  Foo({Bar bar}) : _bar = bar != null ? bar : new Bar();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

允许将私有常量用作公共方法的默认参数的背后的想法是什么?

部署npmjs私有模块的最佳方法是什么?

干燥Java代码的最佳方法是什么?创建具有不同对象参数的私有方法?

创建带有传递给dplyr :: filter的参数的函数,解决nse的最佳方法是什么?

声明带有返回相同类型的参数的联合的TypeScript函数的最佳方法是什么?

私有静态最终字段

将 ref 参数设置为私有方法

在没有私有数据的情况下发布设置的最佳做法是什么?

使用 Moment.js - 显示带有修改的区域设置数据的持续时间以及带有默认区域设置数据的持续时间的最佳方式是什么?

当对象的所有字段都设置为默认值时,为什么实例常量具有值?

从词典中删除所有实例的最佳方法是什么?

用反射设置私有静态最终字段

在Java中将三维数组的所有值设置为零的最佳方法是什么?

将表格中的所有单元格设置为相同值的最佳方法是什么?

类实例的私有字段在不应该时神秘地重置为默认值

在 Spark 中将可选参数建模为 UDF 的最佳方法是什么?

在Kotlin上默认带有最终注释的类:真正的动机是什么?

带有标头的表格的最佳方法是什么?

用GoogleTest测试私有方法的最佳方法是什么?

为什么我收到带有会话参数的错误“对象引用未设置为对象的实例”,并且其不为null?

为什么带有默认参数的Kotlin函数创建带有未使用参数的方法

在Java中返回带有检查是否为null或空的串联字符串的最佳方法是什么?

链接到带有参数的路由的正确方法是什么?

从python中的私有github远程提取的最佳方法是什么?

C ++将源文件内部的某些功能设为私有的最佳方法是什么?

获得React JS私有方法的最佳实践是什么?

在公共功能中使用私有类型的最佳方法是什么?

在Azure DevOps Pipeline中提供私有SSH密钥的最佳方法是什么?

为什么私有方法也不能最终确定?