Akshit Gupta Ответов: 3

StringBuilder для преобразования строки в Java


Я знаю, что мы можем преобразовать строковый конструктор в строку с помощью функций toString() и new String(stringbuilder) и конструктора.. Но я хочу знать причину, по которой это утверждение вызывает ошибку, так как "StringBuilder не может быть преобразован в строку"
String s = (String) StringBuilder;


Что я уже пробовал:

StringBuilder, чтобы преобразовать строку, используя строковый литерал

3 Ответов

Рейтинг:
2

vishaljamdagni

Ну, я думаю, что в случае приведения типа вам придется пройти проверку на тест "IS-A", который в этом случае потерпит неудачу, так как StringBuilder не является строкой. В случае преобразования вы явно должны использовать "toString()"(обратите внимание, что " t " не является заглавной буквой).


Рейтинг:
19

phil.o

Не существует такого понятия, как StringBuilder к String преобразование.
StringBuilder класс предоставляет вам toString метод, который позволяет получить строку, которая фактически хранится во внутреннем буфере программы. StringBuilder объект.
Вы должны использовать

String s = sb.ToString();
, sb будучи а переменная из StringBuilder класс.
// Bad code!
String s = (String)StringBuilder;

это неверно по крайней мере на двух уровнях:

  • Вы не можете бросить a StringBuilder переменная прямо к струне.
  • StringBuilder это класс, а не переменная. Вы не можете привести класс к чему-либо, вы только приводите переменные.


Рейтинг:
0

Richard MacCutchan

Потому что StringBuilder это другой класс, и он не может быть непосредственно использован в качестве String. Вы должны использовать toString() метод, описанный в документации.