【发布时间】:2020-01-31 21:38:56
【问题描述】:
这个问题:- 复合赋值非法,而简单赋值合法。与我已经解决的问题相反。 提供声明以使 x += i(复合)合法而 x = x + i(简单)不合法。
这可以通过将 x 声明为 short 并将 i 声明为 int 来完成。因为 += 包含一个隐藏的演员阵容,而 x = x + i 没有 - 导致编译错误。
但是,我无法在复合赋值非法而简单赋值合法的情况下进行赋值。此外,要解决这个问题的状态:-
对象 x = "你好"; 字符串 i = "世界"; 简单赋值是合法的,因为 x + i 是 String 类型,而 String 是与 Object 兼容的赋值。 x = x + 我; 复合赋值是非法的,因为左边是字符串以外的对象引用类型 x += i;
但是我可以无错误地编译两者吗?
【问题讨论】:
-
提出这个问题的文本的出版日期是 2005 年。当时给出的解决方案可能已经“奏效”了,但这已经在现代 java 中得到修复。
标签: java syntax compiler-errors compilation variable-assignment