此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
文字表达式
SpEL 支持以下类型的文字表达式。
- 字符串
-
字符串可以用单引号 () 或双引号分隔 ().在以 single 括起来的字符串文字中包含单引号 引号,使用两个相邻的单引号字符。同样,对 在用双引号括起来的字符串文字中包含双引号 标记,使用两个相邻的双引号字符。
'
"
- 数
-
数字支持使用负号、指数表示法和小数点。
-
整数:
int
或long
-
十六进制:
int
或long
-
真正:
float
或double
-
默认情况下,实数是使用
Double.parseDouble()
.
-
-
- 布尔
-
true
或false
- 零
-
null
由于 Spring 表达式语言的设计和实现,文字数字 始终在内部存储为正数。 例如 这意味着不可能表示等于
Java 中该类型数字的最小值。例如,支持的最小值
对于 如果您需要对 SpEL 中特定类型的数字使用最小值
表达式,您可以引用
|
以下列表显示了文字的简单用法。通常,它们不用于 像这样的隔离,而是作为更复杂表达式的一部分——例如, 在逻辑比较运算符的一侧使用文字或作为 方法。
-
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