Either for comparisons or initialization of a new variable, does it make a difference which one of these you use?
I know that BigDecimal.ZERO is a 1.5 feature, so that’s a concern, but assuming I’m using 1.5 does it matter?
Thanks.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
BigDecimal.ZEROis a predefined constant and therefore doesn’t have to be evaluated from a string at runtime asBigDecimal('0')would be. It will be faster and won’t require creation of a new object.If your code needs to run on pre-1.5, then you can use the (much maligned) Singleton pattern to create an object equivalent to
BigDecimal.ZERO. The first time it is used, it would callBigDecimal('0')to create a zero object, and return that object on subsequent calls. Otherwise, if your code is running on a 1.5 system, your singleton object can just returnBigDecimal.ZEROwith no runtime penalty.