📄 apa.html
字号:
standard <span class="acronym">OGNL</span> equality test.</td><td valign="top">Cannot be the top-level expression passed to <tt class="function">setValue</tt>.</td></tr><tr><td valign="top"><div class="variablelist"><dl><dt><span class="term"><i class="replaceable"><tt>e1</tt></i> <tt class="literal"><<</tt> <i class="replaceable"><tt>e2</tt></i>, </span><span class="term"><i class="replaceable"><tt>e1</tt></i><tt class="literal"> shl </tt><i class="replaceable"><tt>e2</tt></i></span></dt><dd><p>Bit
shift left</p></dd><dt><span class="term"><i class="replaceable"><tt>e1</tt></i> <tt class="literal">>></tt> <i class="replaceable"><tt>e2</tt></i>, </span><span class="term"><i class="replaceable"><tt>e1</tt></i><tt class="literal"> shr </tt><i class="replaceable"><tt>e2</tt></i></span></dt><dd><p>Bit
shift right</p></dd><dt><span class="term"><i class="replaceable"><tt>e1</tt></i> <tt class="literal">>>></tt> <i class="replaceable"><tt>e2</tt></i>, </span><span class="term"><i class="replaceable"><tt>e1</tt></i><tt class="literal"> ushr
</tt><i class="replaceable"><tt>e2</tt></i></span></dt><dd><p>Logical shift right</p></dd></dl></div></td><td valign="top"><tt class="varname">e1</tt> and <tt class="varname">e2</tt> are <a href="coerceInteger.html" title="Interpreting Objects as Integers">interpreted as integers</a> and the result is an <span class="type">integer</span>.</td><td valign="top">Cannot be the top-level expression passed to <tt class="function">setValue</tt>.</td></tr><tr><td valign="top"><div class="variablelist"><dl><dt><span class="term"><i class="replaceable"><tt>e1 </tt></i><tt class="literal">+</tt> <i class="replaceable"><tt>e2</tt></i></span></dt><dd><p>Addition</p></dd><dt><span class="term"><i class="replaceable"><tt>e1</tt></i>
<tt class="literal">-</tt> <i class="replaceable"><tt>e2</tt></i></span></dt><dd><p>Subtraction</p></dd></dl></div></td><td valign="top">The plus operator concatenates strings if its arguments are non-numeric; otherwise it <a href="coerceNumber.html" title="Interpreting Objects as Numbers">interprets its arguments as numbers</a> and adds them. The minus operator always
works on numbers.</td><td valign="top">Cannot be the top-level expression passed to <tt class="function">setValue</tt>.</td></tr><tr><td valign="top"><div class="variablelist"><dl><dt><span class="term"><i class="replaceable"><tt>e1</tt></i><tt class="literal">* </tt><i class="replaceable"><tt>e2</tt></i></span></dt><dd><p>Multiplication</p></dd><dt><span class="term"><i class="replaceable"><tt>e1</tt></i>
<tt class="literal">/</tt> <i class="replaceable"><tt>e2</tt></i></span></dt><dd><p>Division</p></dd><dt><span class="term"><i class="replaceable"><tt>e1</tt></i> <tt class="literal">%</tt> <i class="replaceable"><tt>e2</tt></i></span></dt><dd><p>Remainder</p></dd></dl></div></td><td valign="top">Multiplication, division, which <a href="coerceNumber.html" title="Interpreting Objects as Numbers">interpret their arguments as numbers</a>, and remainder, which <a href="coerceInteger.html" title="Interpreting Objects as Integers">interprets its arguments as integers</a>.</td><td valign="top">Cannot be the top-level expression passed to <tt class="function">setValue</tt>.</td></tr><tr><td valign="top"><div class="variablelist"><dl><dt><span class="term"><tt class="literal">+ </tt><i class="replaceable"><tt>e</tt></i></span></dt><dd><p>Unary plus</p></dd><dt><span class="term"><tt class="literal">-</tt>
<i class="replaceable"><tt>e</tt></i></span></dt><dd><p>Unary minus</p></dd><dt><span class="term"><tt class="literal">!</tt> <i class="replaceable"><tt>e</tt></i>, </span><span class="term"><tt class="literal">not </tt><i class="replaceable"><tt>e</tt></i></span></dt><dd><p>Logical
not</p></dd><dt><span class="term"><tt class="literal">~</tt> <i class="replaceable"><tt>e</tt></i></span></dt><dd><p>Bitwise not</p></dd><dt><span class="term"><i class="replaceable"><tt>e</tt></i>
<tt class="literal">instanceof</tt> <i class="replaceable"><tt>class</tt></i></span></dt><dd><p>Class membership</p></dd></dl></div></td><td valign="top">Unary plus is a no-op, it simply returns the value of its argument. Unary minus <a href="coerceNumber.html" title="Interpreting Objects as Numbers">interprets its argument as a number</a>. Logical not <a href="coercion.html#coerceBoolean" title="Interpreting Objects as Booleans">interprets
its argument as a boolean</a>. Bitwise not <a href="coerceInteger.html" title="Interpreting Objects as Integers">interprets its argument as an integer</a>. The <i class="replaceable"><tt>class</tt></i> argument to instanceof is the fully qualified name of a Java
class.</td><td valign="top">Cannot be the top-level expression passed to <tt class="function">setValue</tt>.</td></tr><tr><td valign="top"><div class="variablelist"><dl><dt><span class="term"><a href="methods.html" title="Calling Methods"><i class="replaceable"><tt>e</tt></i><tt class="literal">.</tt><i class="replaceable"><tt>method</tt></i><tt class="literal">(</tt><i class="replaceable"><tt>args</tt></i><tt class="literal">)</tt></a></span></dt><dd><p>Method
call</p></dd><dt><span class="term"><a href="properties.html" title="Referring to Properties"><i class="replaceable"><tt>e</tt></i><tt class="literal">.</tt><i class="replaceable"><tt>property</tt></i></a></span></dt><dd><p>Property</p></dd><dt><span class="term"><a href="indexing.html" title="Indexing"><i class="replaceable"><tt>e1</tt></i><tt class="literal">[</tt> <i class="replaceable"><tt>e2</tt></i> <tt class="literal">]</tt></a></span></dt><dd><p>Index</p></dd><dt><span class="term"><a href="projection.html" title="Projecting Across Collections"><i class="replaceable"><tt>e1</tt></i><tt class="literal">.{ </tt><i class="replaceable"><tt>e2</tt></i> <tt class="literal">}</tt></a></span></dt><dd><p>Projection</p></dd><dt><span class="term"><a href="selection.html" title="Selecting From Collections"><i class="replaceable"><tt>e1</tt></i><tt class="literal">.{?</tt> <i class="replaceable"><tt>e2 </tt></i><tt class="literal">}</tt></a></span></dt><dd><p>Selection</p></dd><dt><span class="term"><a href="chainedSubexpressions.html" title="Chained Subexpressions"><i class="replaceable"><tt>e1</tt></i><tt class="literal">.(</tt><i class="replaceable"><tt>e2</tt></i><tt class="literal">)</tt></a></span></dt><dd><p>Subexpression evaluation</p></dd><dt><span class="term"><a href="expressionEvaluation.html" title="Expression Evaluation"><i class="replaceable"><tt>e1</tt></i><tt class="literal">(</tt><i class="replaceable"><tt>e2</tt></i><tt class="literal">)</tt></a></span></dt><dd><p>Expression evaluation</p></dd></dl></div></td><td valign="top">Generally speaking, navigation chains are evaluated by evaluating the first expression, then evaluating the second one with the result of the first as the source object.</td><td valign="top">Some of these forms can be passed as top-level expressions to <tt class="function">setValue</tt> and others cannot. Only those chains that end in property references (e.property), indexes (<tt class="function">e1[e2]</tt>),
and subexpressions (<tt class="function">e1.(e2)</tt>) can be; and expression evaluations can be as well. For the chains, <tt class="function">getValue</tt> is called on the left-hand expression (<tt class="varname">e</tt> or
<tt class="varname">e1</tt>), and then <tt class="function">setValue</tt> is called on the rest with the result as the target object.</td></tr><tr><td valign="top"><div class="variablelist"><dl><dt><span class="term"><a href="basicExpressions.html#constants" title="Constants"><i class="replaceable"><tt>constant</tt></i></a></span></dt><dd><p>Constant</p></dd><dt><span class="term"><a href="paren.html" title="Parenthetical Expressions"><tt class="literal">(</tt> <i class="replaceable"><tt>e</tt></i> <tt class="literal">)</tt></a></span></dt><dd><p>Parenthesized expression</p></dd><dt><span class="term"><a href="methods.html" title="Calling Methods"><i class="replaceable"><tt>method</tt></i><tt class="literal">(</tt><i class="replaceable"><tt>args</tt></i><tt class="literal">)</tt></a></span></dt><dd><p>Method
call</p></dd><dt><span class="term"><a href="properties.html" title="Referring to Properties"><i class="replaceable"><tt>property</tt></i></a></span></dt><dd><p>Property reference</p></dd><dt><span class="term"><a href="indexing.html" title="Indexing"><tt class="literal">[</tt> <i class="replaceable"><tt>e</tt></i> <tt class="literal">]</tt></a></span></dt><dd><p>Index reference</p></dd><dt><span class="term"><a href="collectionConstruction.html#listConstruction" title="Lists"><tt class="literal">{
</tt><i class="replaceable"><tt>e</tt></i><tt class="literal">,</tt> ... <tt class="literal">}</tt></a></span></dt><dd><p>List creation</p></dd><dt><span class="term"><a href="varref.html" title="Variable References"><tt class="literal">#</tt><i class="replaceable"><tt>variable</tt></i></a></span></dt><dd><p>Context
variable reference</p></dd><dt><span class="term"><a href="staticMethods.html" title="Calling Static Methods"><tt class="literal">@</tt><i class="replaceable"><tt>class</tt></i><tt class="literal">@</tt><i class="replaceable"><tt>method</tt></i><tt class="literal">(</tt><i class="replaceable"><tt>args</tt></i><tt class="literal">)</tt></a></span></dt><dd><p>Static
method reference</p></dd><dt><span class="term"><a href="staticFields.html" title="Getting Static Fields"><tt class="literal">@</tt><i class="replaceable"><tt>class</tt></i><tt class="literal">@</tt><i class="replaceable"><tt>field</tt></i></a></span></dt><dd><p>Static
field reference</p></dd><dt><span class="term"><a href="constructors.html" title="Calling Constructors"><tt class="literal">new</tt> <i class="replaceable"><tt>class</tt></i><tt class="literal">(</tt><i class="replaceable"><tt>args</tt></i><tt class="literal">)</tt></a></span></dt><dd><p>Constructor
call</p></dd><dt><span class="term"><a href="collectionConstruction.html#nativeArrayConstruction" title="Native Arrays"><tt class="literal">new </tt><i class="replaceable"><tt>array-component-class</tt></i><tt class="literal">[] {</tt> <i class="replaceable"><tt>e</tt></i><tt class="literal">,</tt>
... <tt class="literal">}</tt></a></span></dt><dd><p>Array creation</p></dd><dt><span class="term"><a href="collectionConstruction.html#mapConstruction" title="Maps"><tt class="literal">#{</tt> <i class="replaceable"><tt>e1</tt></i>
<tt class="literal">:</tt> <i class="replaceable"><tt>e2</tt></i><tt class="literal">,</tt> ... <tt class="literal">}</tt></a></span></dt><dd><p>Map creation</p></dd><dt><span class="term"><a href="collectionConstruction.html#mapConstruction" title="Maps"><tt class="literal">#@</tt><i class="replaceable"><tt>classname</tt></i><tt class="literal">@{
</tt><i class="replaceable"><tt>e1</tt></i> <tt class="literal">:</tt> <i class="replaceable"><tt>e2</tt></i><tt class="literal">,</tt> ... <tt class="literal">}</tt></a></span></dt><dd><p>Map creation with specific subclass</p></dd><dt><span class="term"><a href="lambdaExpressions.html" title="Pseudo-Lambda Expressions"><tt class="literal">:[</tt> <i class="replaceable"><tt>e</tt></i> <tt class="literal">]</tt></a></span></dt><dd><p>Lambda expression definition</p></dd></dl></div></td><td valign="top">Basic expressions</td><td valign="top">Only property references (<tt class="varname">property</tt>), indexes (<tt class="varname">[e]</tt>), and variable references (<tt class="varname">#variable</tt>) can be passed as top-level expressions to
<tt class="function">setValue</tt>. For indexes, <tt class="function">getValue</tt> is called on <tt class="varname">e</tt>, and then the result is used as the property "name" (which might be a <tt class="classname">String</tt> or any
other kind of object) to set in the current target object. Variable and property references are set more directly.</td></tr><tr><td colspan="3"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td valign="top" align="center" rowspan="2" width="25"><img alt="[Note]" src="../images/admon/note.gif"></td><th align="left">Note</th></tr><tr><td valign="top" align="left" colspan="2"><p>These operators are listed in reverse precedence order</p></td></tr></table></div></td></tr></tbody></table></div></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="coerceCollection.html"><img src="../images/navigation/prev.gif" alt="Prev"></a> </td><td align="center" width="20%"><a accesskey="u" href="index.html"><img src="../images/navigation/up.gif" alt="Up"></a></td><td align="right" width="40%"> </td></tr><tr><td valign="top" align="left" width="40%">Interpreting Objects as Collections </td><td align="center" width="20%"><a accesskey="h" href="index.html"><img src="../images/navigation/home.gif" alt="Home"></a></td><td valign="top" align="right" width="40%"> </td></tr></table></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -