Skip to end of metadata
Go to start of metadata

The following chart is a complete list and description of all operators present in MVEL.

Unary Operators

Operator

Description

Example

new

Object instantiation

new String("foo")

with

Block WITH Operator. Perform multiple operations on a single object instance

with (value) { name = 'Foo', age = 18, sex = Sex.FEMALE }

assert

Assert that a value is true or fail with an AssertionError

assert foo != null

isdef

Tests whether or not a variable is defined within the scope

isdef variableName

!

Boolean negation operator

!true == false

Comparison Operators

Operator

Description

Example

==

Equality Check.  Checks to see if the values on both sides of the operator are equal.  Unlike Java, this is not an identity check. 

"foo" == "foo" is true

!=

Not Equals Check.  Checks to see if the values on both sides of the operator are not equal.

"foo" == "bar" is false

>

Greater Than Check.  Checks to see if the value on the left side of the operator is greater than than value on the right.

2 > 1 is true

<

Less Than Check.  Checks to see if the value on the left side of the operator is less than value on the right.

1 < 2 is true

>=

Greater Than or Equal.  Checks to see if the value on the left hand side is greater than or equal to the value on the right.

1 >= 1 is true

<=

Less Than or Equal.  Checks to see if the value on the left hand side is less than or equal to the value on the right.

2 <= 2 is true

contains

Value Containment Check.  Checks to see if the value on the left contains the value on the right.  For more details on how this operator works, see Contains Operator

var contains "Foo"

is or instanceof

Type Checking Operator.  Checks to see if the value on the left is a member of the class on the right. 

var instanceof Integer

strsim

String Similarity Check.  Compares to strings and returns a similarity between them as a percentage. See: String Similarity Check.

"foobie" strsim "foobar"

soundslike

Soundex Check.  Performs a soundex comparison between two strings. See: Soundex.

"foobar" soundslike "fubar"

Logical Operators

Operator

Description

Example

&&

Logical AND.  Checks to see that the values on both sides of the operator are true.

foo && bar

||

Logical OR.  Checks to see if either the value on the left or the right is true.

foo || bar

or

Chained OR.  Checks a sequence of values for emptiness and returns the first non-empty value. (This operator, or at least it's equivalent functionality, is referred to as the "elvis operator" in other languages)

foo or bar or barfoo or 'N/A'

~=

Regular Expression Match.  Checks to see if the value on the left matches the regular expression on the right.

foo ~= '[a-z].+'

Bitwise Operators

Operator

Description

Example

&

Bitwise AND.

foo & 5

|

Bitwise OR.

foo | 5

^

Bitwise XOR.

foo ^ 5

Arithmetic Operators

Operator

Description

Example

+

Addition.  Adds the value on the left to the value on the right

1 + 2

-

Subtraction.  Subtracts the value on the right from the value on the left

2 - 1

/

Division.  Divides the number on the left by the number on the right

2 / 1

*

Multiplication.  Multiples the number on the left by the number on the right

1 * 2

%

Modulus.  Divides the number on the left by the number on the right and returns the remainder.

2 % 1

Other Operators

Operator

Description

Example

+

String Concatenation.  Overloaded operator for concatenating two strings together.

"foo" + ;bar"

#

Concatenation Operator.  Concatenates two literals as strings.

1 # 2 returns "12"

in

Projection/Fold. Projects across a collection.  See: Projections and Folds.

(foo in list)

=

Assignment.  Assigns the value on the right to the variable on the left.

var = "foobar"

Labels
  • None