Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对象创建还是简单表达式计算,哪一个更好?_Java_Junit - Fatal编程技术网

Java 对象创建还是简单表达式计算,哪一个更好?

Java 对象创建还是简单表达式计算,哪一个更好?,java,junit,Java,Junit,有一点背景知识,我遇到了一个无法启用断言(ask)的情况,并且使用这样一个伟大的解决方案对我来说是不可能的,因为 断言在开发和测试阶段一直是我们的强大武器,我们不准备放弃它 在这种情况下,我想到了两种选择。 第一个类似于JUnit的Assert类: Assert.assertTrue(result.financialInfoDTO.getPeriods().size() <= FinancialInfoConstants.NUMBER_OF_VISIBLE_PERIOD); Assert

有一点背景知识,我遇到了一个无法启用断言(ask)的情况,并且使用这样一个伟大的解决方案对我来说是不可能的,因为

断言在开发和测试阶段一直是我们的强大武器,我们不准备放弃它

在这种情况下,我想到了两种选择。 第一个类似于JUnit的Assert类:

Assert.assertTrue(result.financialInfoDTO.getPeriods().size() <= FinancialInfoConstants.NUMBER_OF_VISIBLE_PERIOD);

Assert.assertTrue(result.financialInfoDTO.getPeriods().size()对象实例化通常比较昂贵。您可以自己进行基准测试。

我将选择选项1

  • 它阻止创建新的匿名类和 每次通过代码时此对象的实例化

  • 使用第二个选项可以访问对象 (
    result
    )在断言类之外定义

  • 这是第一个原因,你不认为第一个更具可读性吗

  •     Assert.assert(new Assertion() {
           public boolean doAssert() { return result.financialInfoDTO.getPeriods().size() <= FinancialInfoConstants.NUMBER_OF_VISIBLE_PERIOD; }
        });