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