substring
действительно достоверный метод - но он возвращает String
ссылку, а не StringBuilder
, так что вы не можете присвоить возвращаемое значение sb1
. Это должно работать:
String x = sb.append("ing").append("a").substring(0);
Однако, вы должны также сделать шаг назад и посмотреть на сообщение об ошибке снова. Убедитесь, что вы понимаете каждую его часть, и спросите себя, почему этого недостаточно, чтобы самому самому диагностировать проблему. Такая самооценка должна помочь вам диагностировать будущие проблемы без консультации с сообществом. (Я уверен, что многие люди с удовольствием помогут, но для всех это будет более эффективным, если вы сами это сделаете.)
Одна из полезных методик здесь заключается в том, чтобы максимально уменьшить объем проблемы - так что я «d вероятно, изолировав его в один вызов метода первого:
sb.append("ing").append("a");
sb1 = sb.substring(0);
в тот момент, когда вторая линия флаги вверх ошибка, есть меньше, чтобы рассмотреть. Ошибка будет что-то вроде:
Test.java:11: error: incompatible types
sb1 = sb.substring(0);
^
required: StringBuilder
found: String
1 error
Теперь надо признать, что это не ярчайшее сообщения об ошибке в мире, но, учитывая, что нет нет другого использования String
в этом заявлении, что имеет быть возвращение значение метода - документацию которого вы также должны проверить, как само собой разумеющееся.
из любопытства: как 9-й линии может быть «Линия 1»?;-) –