哦,懂了。
上面的是有点问题,现在做一下说明,||运算优先于 ? :运算,所以?左面的优先运行,||两边的是一体的。加上小括号就是这样子:
return (path == null || path.lastIndexOf(".") == -1) ? null : path.substring(path.lastIndexOf(".") + 1);
呵呵,真是的,把这细节都给忽略了。
附上JAVA运算符优先级表:
- 1 . [ ] ( )
- 2 ++ -- ! ~ instanceof
- 3 new (type)
- 4 * / %
- 5 + -
- 6 >> >>> <<
- 7 > < >= <=
- 8 == !=
- 9 &
- 10 ^
- 11 |
- 12 &&
- 13 ||
- 14 ? :
- 15 = += -= *= /= %= ^=
- 16 &= |= <<= >>= >>>=
复制代码 |