【发布时间】:2014-09-18 14:34:31
【问题描述】:
我在查看同事的代码时遇到了这个问题。她不小心把它留下了(它曾经是一个字符串连接),我认为它不会编译。原来我错了,所以我试着看看那个操作员做了什么:
public static void main(String[] args) {
int i = -1;
System.out.println(String.format("%s", +i));
System.out.println(String.format("%s", +i));
}
据我所知,它什么也没做,但我很好奇它是否有理由被允许编译。该操作员是否有一些隐藏的功能?它类似于++i,但你会认为编译器会在+i 上出错。
【问题讨论】:
-
这看起来像是
++i的错字 -
原来其实是一个字符串拼接,不过我也是这么想的。
+i和++i都编译,这对我来说很奇怪。 -
对应一元否定运算符
-