b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

struts2的ognl表达式_el表达式转数组_ognl表达式和el表达式(3)

电脑杂谈  发布时间:2017-02-12 08:02:22  来源:网络整理

}

}

+ - * /实现,此处只看+的:

Java代码 package org.apache.el.parser;

import javax.el.ELException;

import org.apache.el.lang.ELArithmetic;

import org.apache.el.lang.EvaluationContext;

public final class AstPlus extends ArithmeticNode

{

public AstPlus(int id)

{

super(id);

}

public Object getValue(EvaluationContext ctx)

throws ELException

{

Object obj0 = this.children[0].getValue(ctx);

ognl表达式和el表达式_struts2的ognl表达式_el表达式转数组

Object obj1 = this.children[1].getValue(ctx);

return ELArithmetic.add(obj0, obj1);

}

}

其委托给ELArithmetic.add:

Java代码 public static final DoubleDelegate DOUBLE = new DoubleDelegate();

public static final LongDelegate LONG = new LongDelegate();

private static final Long ZERO = Long.valueOf(0L);

public static final Number add(Object obj0, Object obj1) {

if ((obj0 == null) && (obj1 == null))

return Long.valueOf(0L);

ELArithmetic delegate;

if (BIGDECIMAL.matches(obj0, obj1))

delegate = BIGDECIMAL;

else if (DOUBLE.matches(obj0, obj1))

if (BIGINTEGER.matches(obj0, obj1))

delegate = BIGDECIMAL;

else

delegate = DOUBLE;

else if (BIGINTEGER.matches(obj0, obj1))

delegate = BIGINTEGER;

else {

delegate = LONG;

}

Number num0 = delegate.coerce(obj0);

Number num1 = delegate.coerce(obj1);

return delegate.add(num0, num1);

}

此处委托给了各种delegate计算,其+的实现:

Java代码 public static final class LongDelegate extends ELArithmetic

{

protected Number add(Number num0, Number num1)

{

return Long.valueOf(num0.longValue() + num1.longValue());

}

从这里我们可以看出其实现。

而且其规范中都规定了具体字面量的东西:

写道

1.3 Literals

There are literals for boolean, integer, floating point, string, and null in an eval-


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-31947-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...