我必须将0分配给 creditBalacne 现在我们可以获得两种方式
private BigDecimal creditBalance = new BigDecimal(0);
等方式
private BigDecimal creditBalance1 = BigDecimal.ZERO;
哪一个更好,为什么?以及开发人员更喜欢哪种方式?
答案 0 :(得分:1)
在大的计划中,使用哪一个并不重要。 但是因为已经存在零常数,所以你也可以使用它。
答案 1 :(得分:1)
第一个选项将创建新对象(以及后来的垃圾)
如果表现很重要,第二种选择可能更合适。如果有疑问,请使用最清晰,最简单的方法。
BTW另一种选择是使用
private BugDecimal creditBalance1 = BigDecimal.valueOf(0);
这将在可能的情况下使用值缓存(如果没有则创建新对象)