Tom*_*Tom 4 java compiler-errors
我试图写一个简单的方法:
boolean validate(MyObject o)
{
// propertyA && propertyB are not primitive types.
return o.getPropertyA() == null && o.getPropertyB() == null;
}
Run Code Online (Sandbox Code Playgroud)
并且在这== null部分得到了一个奇怪的错误:
令牌==上的语法错误.赋值运算符无效.
也许我的Java在PLSQL的一个赛季后生锈了.所以我尝试了一个更简单的例子:
Integer i = 4;
i == null;
// compile error: Syntax error on token ==. Invalid assignment operator.
Integer i2 = 4;
if (i == null); //No problem
Run Code Online (Sandbox Code Playgroud)
怎么会这样?
我正在使用jdk160_05.
澄清:我不是要分配任何东西,只是&&在两个布尔值之间进行操作.我不想这样做:
if (o.propertyA() == null && o.propertyB() == null) { return true; }
else { return false; }
Run Code Online (Sandbox Code Playgroud)
==不是赋值运算符,它是一个布尔等于运算符,请参阅:
http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.21.2
如果要将i设置为null,请使用简单赋值运算符=:
i = null;
Run Code Online (Sandbox Code Playgroud)
http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.26.1
如果要检查i是否为null,则需要使用==运算符
if (i == null)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3927 次 |
| 最近记录: |