Что отличаетс от того, на что ссылается ссылка в str
в первой строке по сравнению со второй строкой?В чем разница между строкой и массивом символов?
char[] str={'A','B','C'};
против
String str= new String("ABC");
Что отличаетс от того, на что ссылается ссылка в str
в первой строке по сравнению со второй строкой?В чем разница между строкой и массивом символов?
char[] str={'A','B','C'};
против
String str= new String("ABC");
Одним из них является массив примитивов.
Другое - это полный объект с полезными функциями.
ну просто говоря,
String str= new String("ABC");
Строка является неизменяемым объектом (его значение не может изменяться), представляющий последовательность символов. Он имеет полезные методы манипулирования строками (indexOf, split и т. Д.)
char str[]={'A','B','C'};
Массив массивов - это просто: массив символов. Он имеет фиксированную длину, и вы можете изменить его содержимое по своему усмотрению. У него нет метода манипуляции строками.
привет Анурагу нет разницы в памяти? –
Строка содержит следующее: массив символов - таким образом отдельный объект, содержащий фактические символы; целочисленное смещение в массив, в котором начинается строка; длина строки; еще один int для кэшированного вычисления хэш-кода. , поэтому вполне можно предположить, что он занимает больше места, чем массив символов. –
@ AbhishekV.Bajaj - В наивной реализации объект 'String' содержит поле длины, поле смещения, поле хэш-значения и ссылку на массив' char [] '. Массив 'char []' является отдельным объектом, который может использоваться совместно с другими объектами String (например, в случае операции подстроки). –
char str[]={'A','B','C'};
Этот массив символов, который три элемента длиной
String str= new String("ABC");
Это String
объект, который имеет полезные методы, которые могут быть вызваны на него.
Было бы хорошо, если бы люди, которые отвечали на вопросы, объясняли их рассуждения. –
Что похоже на эти два утверждения ??? – Dancrumb
Один - это String, другой - нет. – Robin