Напишите декларации переменных x и i так, чтобы следующий оператор компилился:
x = x + i;
а следующий оператор - нет:
x += i;
Тут тоже проблема в том, что составной оператор присваивания автоматически приводит тип выражения справа к типу переменной слева.
Object x = "X";
String i = "I";
Cледующий оператор компилится:
x = x + i; // создается новая строка
а следующий оператор - нет:
x += i; // нельзя сложить два объекта
Ты, дядька СЭМ, составь и опубликуй памятку с разъснениями. Полезно будет.
ОтветитьУдалитьВидел намедни Мишку. Только нонеча полюбил С#, собираются омею в оперсурц выложить...
А я на блоге пишу...
ОтветитьУдалитьТогда вешай какой-то еще дополнительный ярлычок, кроме java. Чтобы найти можно было.
ОтветитьУдалитьКстати, ты обратил внимание, что Блоггер вывели из беты?
Хорошо.
ОтветитьУдалитьИ что выход из беты ему дал? ;-)
Я несколько поздновато, но ваш код отлично работает в java 1.6, компилируется и выполняется без ошибок =(
ОтветитьУдалитьПопробуйте ещё раз. Внимательно!
ОтветитьУдалитьObject x = "X";
String i = "I";
x = x + i;
x += i;
В четвёртой строке будет ошибка:
incompatible types
found : java.lang.Object
required: java.lang.String