|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
字面量表达式
SpEL 支持以下类型的字面量表达式。
-
字符串
-
数值类型:整数(
int或long)、十六进制(int或long)、实数(float或double) -
布尔值:
true或false -
null
字符串可以用单引号(')或双引号(")分隔。要在用单引号括起来的字符串字面量中包含一个单引号,请使用两个连续的单引号字符。同样地,要在用双引号括起来的字符串字面量中包含一个双引号,请使用两个连续的双引号字符。
数字支持使用负号、指数表示法和小数点。
默认情况下,实数通过使用 Double.parseDouble() 进行解析。
以下示例展示了字面量的简单用法。通常,它们不会像这样单独使用,而是作为更复杂表达式的一部分——例如,在逻辑比较运算符的一侧使用字面量,或将其作为方法的参数。
-
Java
-
Kotlin
ExpressionParser parser = new SpelExpressionParser();
// evaluates to "Hello World"
String helloWorld = (String) parser.parseExpression("'Hello World'").getValue();
// evaluates to "Tony's Pizza"
String pizzaParlor = (String) parser.parseExpression("'Tony''s Pizza'").getValue();
double avogadrosNumber = (Double) parser.parseExpression("6.0221415E+23").getValue();
// evaluates to 2147483647
int maxValue = (Integer) parser.parseExpression("0x7FFFFFFF").getValue();
boolean trueValue = (Boolean) parser.parseExpression("true").getValue();
Object nullValue = parser.parseExpression("null").getValue();
val parser = SpelExpressionParser()
// evaluates to "Hello World"
val helloWorld = parser.parseExpression("'Hello World'").value as String
// evaluates to "Tony's Pizza"
val pizzaParlor = parser.parseExpression("'Tony''s Pizza'").value as String
val avogadrosNumber = parser.parseExpression("6.0221415E+23").value as Double
// evaluates to 2147483647
val maxValue = parser.parseExpression("0x7FFFFFFF").value as Int
val trueValue = parser.parseExpression("true").value as Boolean
val nullValue = parser.parseExpression("null").value