public class DefaultCalcStrategy extends Object implements CalcStrategy
| 限定符和类型 | 字段和说明 |
|---|---|
protected EnumSet<CalcType> |
numberType |
protected List<CalcType> |
numberTypeOrder |
protected RoundingMode |
roundingMode |
| 构造器和说明 |
|---|
DefaultCalcStrategy() |
| 限定符和类型 | 方法和说明 |
|---|---|
CalcObject |
add(CalcObject a,
CalcObject b) |
int |
compare(CalcObject a,
CalcObject b)
比较两个对象,如果无法比较则抛出一场
针对Null和Error有特殊的比较规则
在比较的情况下Null和0一样进行比较
Error在类型相同的情况下返回0,其他情况下compare(Error,any)=1 compare(any,Error)=-1
|
CalcObject |
div(CalcObject a,
CalcObject b) |
boolean |
eq(CalcObject a,
CalcObject b)
如果两个对象不可比较,则返回false
|
CalcType |
getNumberCalcType(CalcNumber a,
CalcNumber b)
获取两个对象的应该进行计算的类型
|
protected boolean |
isError(CalcObject obj) |
protected boolean |
isNull(CalcObject obj) |
protected boolean |
isNumber(CalcObject obj) |
CalcObject |
mod(CalcObject a,
CalcObject b) |
CalcObject |
multi(CalcObject a,
CalcObject b) |
CalcObject |
neg(CalcObject a) |
CalcObject |
sub(CalcObject a,
CalcObject b) |
protected RoundingMode roundingMode
public CalcObject add(CalcObject a, CalcObject b)
add 在接口中 CalcStrategypublic CalcObject sub(CalcObject a, CalcObject b)
sub 在接口中 CalcStrategypublic CalcObject multi(CalcObject a, CalcObject b)
multi 在接口中 CalcStrategypublic CalcObject div(CalcObject a, CalcObject b)
div 在接口中 CalcStrategypublic CalcObject mod(CalcObject a, CalcObject b)
mod 在接口中 CalcStrategypublic CalcType getNumberCalcType(CalcNumber a, CalcNumber b)
a - 计算对象ab - 计算对象bpublic CalcObject neg(CalcObject a)
neg 在接口中 CalcStrategypublic int compare(CalcObject a, CalcObject b)
compare 在接口中 CalcStrategypublic boolean eq(CalcObject a, CalcObject b)
eq 在接口中 CalcStrategyprotected boolean isNumber(CalcObject obj)
protected boolean isNull(CalcObject obj)
protected boolean isError(CalcObject obj)
Copyright © 2025. All rights reserved.