spring3.0学习笔记(3)---SpEL表达式2

简介: spring3.0学习笔记(3)---SpEL表达式2
Java代码  
例一:使用符号  
//evaluates to true  
boolean trueValue=parser.parseExpression("2==2").getValue(Boolean.class);  
//evaluates to false  
boolean falseValue=parser.parseExpression("2<-5.0").getValue(Boolean.class);  
//evaluates to true  
boolean trueValue=parser.parseExpression("'black'<'block'").getValue(Boolean.class); //字符串的比较  
例二:判断是否是类中的一个实例  
//evaluates to false  
boolean falseValue=parser.parseExpression("'xyz'  instanceofT(int)").getValue(Boolean.class);  
例三:和正则表达式结合  
//evaluates to true  
boolean trueValue = parser.parseExpression("'5.00'matches'^-?\\d+\\.\\d{2})?$'").getValue(Boolean.class);  
//evaluates to false  
boolean falseValue = parser.parseExpression("'5.0067'matches'^-?\\d+(\\.\\d{2})?$'").getValue(Boolean.class);  
例四:逻辑运算符  
//--AND--  
//evaluates to false  
boolean falseValue=parser.parseExpression("true and false").getValue(Boolean.class);//取后者  
//evaluates to true  
String expression= "isMember('NikolaTesla')  and  isMember('MihajloPupin')";  
boolean trueValue=parser.parseExpression(expression).getValue(societyContext,Boolean.class);  
//--OR--  
//evaluates to  true  
boolean trueValue=parser.parseExpression("true  or   false").getValue(Boolean.class);  
//evaluates  to  true  
String  expression= "isMember('Nikola Tesla')  or  isMember('Albert Einstien')";  
boolean trueValue=parser.parseExpression(expression).getValue(societyContext,Boolean.class);  
//--NOT--  
//evaluates to false  
boolean falseValue=parser.parseExpression(" !true").getValue(Boolean.class);  
//--AND  and  NOT--  
String expression= "isMember('NikolaTesla') and !isMember('MihajloPupin')";  
boolean falseValue=parser.parseExpression(expression).getValue(societyContext,Boolean.class);  
例五:算术运算符  
//Addition  
int two=parser.parseExpression("1+1").getValue(Integer.class); //2  
String testString=parser.parseExpression(" 'test'+'string' ").getValue(String.class); //'teststring'  
//Subtraction  
int four=parser.parseExpression("1-3").getValue(Integer.class); //4  
double d=parser.parseExpression("1000.00-1e4").getValue(Double.class); //-9000  
//Multiplication  
int six=parser.parseExpression("-2*-3").getValue(Integer.class); //6  
double twentyFour=parser.parseExpression("2.0*3e0*4").getValue(Double.class); //24.0  
//Division  
int minusTwo=parser.parseExpression("6/-3").getValue(Integer.class); //-2  
double one=parser.parseExpression("8.0/4e0/2").getValue(Double.class); //1.0  
//Modulus  
int three=parser.parseExpression("7%4").getValue(Integer.class); //3  
int one=parser.parseExpression("8/5%2").getValue(Integer.class); //1  
//Operator precedence  
int minusTwentyOne=parser.parseExpression("1+2-3*8").getValue(Integer.class); //-21  
相关文章
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
428 0
|
Java Maven Spring
【Spring】EL表达式失效的问题(添加 isELIgnored)
【Spring】EL表达式失效的问题(添加 isELIgnored)
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
941 1
|
8月前
|
XML Java 测试技术
Spring AOP—通知类型 和 切入点表达式 万字详解(通俗易懂)
Spring 第五节 AOP——切入点表达式 万字详解!
408 25
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
940 0
|
Java 开发者 Spring
|
前端开发 安全 Java
Spring EL表达式:概念、特性与应用深入解析
Spring EL表达式:概念、特性与应用深入解析
|
Java 开发者 Spring
Spring AOP的切点是通过使用AspectJ的切点表达式语言来定义的。
【5月更文挑战第1天】Spring AOP的切点是通过使用AspectJ的切点表达式语言来定义的。
156 5
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
553 1
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
319 1