在条件运算符之前增加longvalue

时间:2014-01-10 20:22:36

标签: java

我试图理解下面的声明遇到了我项目中的代码

if(name != null && +ssnCount.getLongValue > 0){
    ......
}

有人可以解释我+ ssCount.getLongValue是什么意思?和差异。谢谢你的时间。

2 个答案:

答案 0 :(得分:4)

Oracle tutorial

  
      
  • 一元加上运算符;指示       正值(数字是       没有这个的积极,但是)
  •   

实际上,数字变量和前缀为一元运算符加号的数字变量之间没有显着差异。有趣的是,此运算符将包装值拆分为基本类型。例如,如果您声明:

Integer a = 10;

然后使用引用'a'将是引用类型Integer,但使用'+ a'将是基本类型int。更清楚:

Integer a = 10;
System.out.println(a instanceof Integer);// true
System.out.println(+a instanceof Integer);// compile time error - unexpected type

答案 1 :(得分:0)

这看起来像损坏的代码。缺少getLongValue之后的()(我认为,使用该名称, 意图是函数调用),并且很少使用一元加号。

我建议把它写回给写这篇文章的人,把这些问题指出来,然后问他们想到了什么。