Spring SpEL - Relational Operators



SpEL expression supports relational operators like <, >, equals etc. It also support instance of and matches operators.

Following example shows the various use cases.

Example

Let's update the project created in Spring SpEL - Create Project chapter. We're adding/updating following files −

  • MainApp.java − Main application to run and test.

Here is the content of MainApp.java file −

package com.tutorialspoint; import java.text.ParseException; import java.util.HashMap; import java.util.Map; import org.springframework.expression.EvaluationContext; import org.springframework.expression.ExpressionParser; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; public class MainApp { public static void main(String[] args) throws ParseException { ExpressionParser parser = new SpelExpressionParser(); // evaluates to true boolean result = parser.parseExpression("2 == 2").getValue(Boolean.class); System.out.println(result); // evaluates to false result = parser.parseExpression("2 < -5.0").getValue(Boolean.class); System.out.println(result); // evaluates to true result = parser.parseExpression("'black' < 'block'").getValue(Boolean.class); System.out.println(result); // evaluates to false result = parser.parseExpression("'xyz' instanceof T(int)").getValue(Boolean.class); System.out.println(result); // evaluates to false result = parser.parseExpression("'5.0067' matches '^-?\\d+(\\.\\d{2})?$'").getValue(Boolean.class); System.out.println(result); } }

Output

true
false
true
false
false
Advertisements