在ide中对String和Charsequence对象使用+=计算符号报错

问题遇到的现象和发生背景

为什么在ide中对String和Charsequence对象使用+=计算符号就报错,明明java是两种对象使用+=是可以编译通过的,比如下面的代码,在cmd窗口用javac编译可以通过,放在eclipse或者idea里就编译不通过,报The operator += is undefined for the argument type(s) CharSequence, String错误,我的java版本是oralce jdk1.8.0_212

问题相关代码
String abc = "abc";
CharSequence cs = "123";
cs += abc;
System.out.println(cs);
运行结果及报错内容
  • eclipse中

img

  • idea中

img

  • 使用命令行编译运行

img

img

我的解答思路和尝试过的方法

我尝试过oracle jdk1.8的其他版本,271或322,但都是这个错误,不知道是为什么,各位遇到过这种情况么

img


不同的CharSequence实现都不建议放一起,是不建议,不是不能,所以idea编译不行,因为它要检查,但是还是可以运行的

版本问题?讲道理这个操作本来就不合理 String你初始化了就是个常量池引用
你拼接了他接的返回值应该是指向了一个新的引用地址才对 但是它名字又没变
就不合理
现在可以+= 估计是后边版本优化了? 这操作像是StringBUffer

img