我正在编程,我做了一个小于或等于的运算符,我正要按下等号,但我不小心按住了Shift键,所以它变成了一个加号。结果是这样的:<+和IntelliJ并没有说这是一个错误,所以我只想知道<+是做什么的。
我试着在网上查了一下,但我真的什么也没看到
if (Integer.toString(data.getPhoneNumber()).length() <+ 10)我以为它会给我一个错误或者别的什么。
发布于 2019-05-13 00:06:48
正是这种间距让它看起来很特别。下面是更传统的间隔:
if (Integer.toString(data.getPhoneNumber()).length() < +10)这就是
if (Integer.toString(data.getPhoneNumber()).length() < 10)因为一元+在应用于int时不会做任何事情(10在该代码中是一个int )。
15.15.3。一元加号运算符
+
+ 一元+运算符的操作数表达式的类型必须是可转换(§5.1.8)为基元数值类型的类型,否则会出现编译时错误。
在操作数上执行一元数值升级(§5.6.1)。一元加号表达式的类型是操作数的提升类型。即使操作数表达式的结果是变量,一元加号表达式的结果也不是变量,而是值。
在运行时,一元加号表达式的值是操作数的升级值。
(他们的重点)
发布于 2019-05-13 00:41:15
在这种情况下,+运算符simple指定数字10为正:+10,因为-表示为负:-10。不管是远离它还是接近它:+ 10,与+10相同。但由于没有-(减号)的数字默认是正的,所以+号是不必要的。<运算符不介意+号,因为它知道它属于那个正数。
如果它有这样的减号:
if (Integer.toString(data.getPhoneNumber()).length() < -10)然后,程序将比较电话号码的长度(),看看它是否小于负10,这对于电话号码的长度是没有意义的。
https://stackoverflow.com/questions/56101017
复制相似问题