Class类型表达式

一、Class类型

import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

public class TestSpelDemo2 {
    public static void main(String[] args) {
        //定义一个解析器
        ExpressionParser parser = new SpelExpressionParser();
        //解析指定的字符串
        Expression expression = parser.parseExpression("T(String)");
        EvaluationContext context = new StandardEvaluationContext();
        Class<String> value = expression.getValue(context, Class.class);
        System.out.println(value);
    }
}
 

输出结果:class java.lang.String

二、静态属性

import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

/**
 * 调用静态属性
 */
public class TestSpelDemo4 {
    public static void main(String[] args) {
        ExpressionParser parse = new SpelExpressionParser();
        Expression expression = parse.parseExpression("T(Integer).MAX_VALUE");
        EvaluationContext context = new StandardEvaluationContext();
        System.out.println(expression.getValue(context));
    }
}
 

输出结果:2147483647

三、静态方法

import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

/**
 * 调用静态方法
 */
public class TestSpelDemo5 {
    public static void main(String[] args) {
        ExpressionParser parse = new SpelExpressionParser();
        Expression expression = parse.parseExpression("T(Integer).parseInt('123')");
        EvaluationContext context = new StandardEvaluationContext();
        System.out.println(expression.getValue(context));
    }
}
 

输出结果:123

四、实例化(无参)

import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

/**
 * 实例化对象(无参)
 */
public class TestSpelDemo6 {
    public static void main(String[] args) {
        ExpressionParser parse = new SpelExpressionParser();
        Expression expression = parse.parseExpression("new java.util.Date()");
        EvaluationContext context = new StandardEvaluationContext();
        System.out.println(expression.getValue(context));
    }
}
 

输出结果:Sat Feb 10 17:32:14 CST 2018

五、实例化(有参)

import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

/**
 * 实例化对象(有参)
 */
public class TestSpelDemo7 {
    public static void main(String[] args) {
        ExpressionParser parse = new SpelExpressionParser();
        Expression expression = parse.parseExpression("new String('hello')");
        EvaluationContext context = new StandardEvaluationContext();
        System.out.println(expression.getValue(context));
    }
}
 

输出结果:hello

六、instanceof(判断一个字符串是否是String的实例)

import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

/**
 * instanceof
 * 判断一个字符串是否是String的实例
 */
public class TestSpelDemo8 {
    public static void main(String[] args) {
        ExpressionParser parse = new SpelExpressionParser();
        Expression expression = parse.parseExpression("'hello' instanceof T(String)");
        EvaluationContext context = new StandardEvaluationContext();
        System.out.println(expression.getValue(context));
    }
}
 

输出结果:true

                                                                                                                                                                           

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值