Polish documentation for SpEL Elvis operator

This commit is contained in:
Sam Brannen 2025-03-12 14:48:34 +01:00
parent c7b0550e43
commit 1780e30a43
1 changed files with 10 additions and 10 deletions

View File

@ -1,10 +1,10 @@
[[expressions-operator-elvis]] [[expressions-operator-elvis]]
= The Elvis Operator = The Elvis Operator
The Elvis operator is a shortening of the ternary operator syntax and is used in the The Elvis operator (`?:`) is a shortening of the ternary operator syntax and is used in
https://www.groovy-lang.org/operators.html#_elvis_operator[Groovy] language. With the the https://www.groovy-lang.org/operators.html#_elvis_operator[Groovy] language. With the
ternary operator syntax, you often have to repeat a variable twice, as the following ternary operator syntax, you often have to repeat a variable twice, as the following Java
Java example shows: example shows:
[source,java,indent=0,subs="verbatim,quotes"] [source,java,indent=0,subs="verbatim,quotes"]
---- ----
@ -23,7 +23,7 @@ Java::
---- ----
ExpressionParser parser = new SpelExpressionParser(); ExpressionParser parser = new SpelExpressionParser();
String name = parser.parseExpression("name?:'Unknown'").getValue(new Inventor(), String.class); String name = parser.parseExpression("name ?: 'Unknown'").getValue(new Inventor(), String.class);
System.out.println(name); // 'Unknown' System.out.println(name); // 'Unknown'
---- ----
@ -33,7 +33,7 @@ Kotlin::
---- ----
val parser = SpelExpressionParser() val parser = SpelExpressionParser()
val name = parser.parseExpression("name?:'Unknown'").getValue(Inventor(), String::class.java) val name = parser.parseExpression("name ?: 'Unknown'").getValue(Inventor(), String::class.java)
println(name) // 'Unknown' println(name) // 'Unknown'
---- ----
====== ======
@ -58,11 +58,11 @@ Java::
EvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build(); EvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build();
Inventor tesla = new Inventor("Nikola Tesla", "Serbian"); Inventor tesla = new Inventor("Nikola Tesla", "Serbian");
String name = parser.parseExpression("name?:'Elvis Presley'").getValue(context, tesla, String.class); String name = parser.parseExpression("name ?: 'Elvis Presley'").getValue(context, tesla, String.class);
System.out.println(name); // Nikola Tesla System.out.println(name); // Nikola Tesla
tesla.setName(""); tesla.setName("");
name = parser.parseExpression("name?:'Elvis Presley'").getValue(context, tesla, String.class); name = parser.parseExpression("name ?: 'Elvis Presley'").getValue(context, tesla, String.class);
System.out.println(name); // Elvis Presley System.out.println(name); // Elvis Presley
---- ----
@ -74,11 +74,11 @@ Kotlin::
val context = SimpleEvaluationContext.forReadOnlyDataBinding().build() val context = SimpleEvaluationContext.forReadOnlyDataBinding().build()
val tesla = Inventor("Nikola Tesla", "Serbian") val tesla = Inventor("Nikola Tesla", "Serbian")
var name = parser.parseExpression("name?:'Elvis Presley'").getValue(context, tesla, String::class.java) var name = parser.parseExpression("name ?: 'Elvis Presley'").getValue(context, tesla, String::class.java)
println(name) // Nikola Tesla println(name) // Nikola Tesla
tesla.setName("") tesla.setName("")
name = parser.parseExpression("name?:'Elvis Presley'").getValue(context, tesla, String::class.java) name = parser.parseExpression("name ?: 'Elvis Presley'").getValue(context, tesla, String::class.java)
println(name) // Elvis Presley println(name) // Elvis Presley
---- ----
====== ======