В чем разница между массивом символов и строкой?В чем разница между массивом символов и строкой?
ответ
Ну, строка - это класс, который инкапсулирует поведение, подходящее для строк, например, подстроку, обрезку и т. Д. Фактические данные хранятся внутри как массив символов (по крайней мере, на Java и C#), поэтому существует тесное соединение между ними, но сам класс представляет больше, чем просто персонажей.
На самом деле это больше, например, интернализация, но в этом суть.
Строка представляет собой массив символов с удобными методами для управления массивом (поиск, подстрока, сопоставление образцов). На многих языках (например, Java) String неизменен (как номер 5
: вы можете назначить его переменной, но вы не можете изменить значение числа, то есть 5 = 1;
не будет работать), в то время как массив символов как и любой другой массив, где вы можете изменить содержимое (например, вы можете заменить первый символ массива чем-то еще на array[0] = ...
, что невозможно в строке).
Это позволяет компилятору языка выполнять некоторые оптимизации при работе со строками. Например, когда вы запрашиваете подстроку, вы получаете ссылку на массив символов, поддерживающий исходную строку, а новый объект имеет некоторые смещения, чтобы дать вам иллюзию, что это новая строка.
Утверждение, что «вы получаете ссылку на массив символов, поддерживающий исходную строку и новый объект, имеет некоторые смещения ...» может быть или не быть истинным в зависимости от того, какой язык вы используете, и даже иногда это время выполнения и/или версии языка. Например, исходный Visual Basic таким образом обменивался строковыми данными, но VB.NET этого не делает. Каждый подход оптимален в разных ситуациях, поэтому нет ни одного «правильного» ответа, хотя кажется, что большинство новых реализаций языка сегодня предпочитают не делиться строковыми данными, как описано. –
String - это класс, объекты которого могут быть созданы и инициализированы формальным вызовом конструктора или прямым назначением.
String s = new String("abc");
String s = "sachin";
В то время как массив символов является непрерывным хранения в памяти были сохранены символы последовательно.
массив символов, в основном то, что может быть использовано для хранения нескольких строк и можно переписать этот массив (т.е. изменяемые)
Строка с другой стороны, необходимо создание совершенно новой переменной для перезаписи данных.
- 1. В чем разница между строкой и массивом символов в Javascript?
- 2. В чем разница между строкой и массивом символов?
- 3. В чем разница между массивом символов и одним линейным массивом?
- 4. В чем разница между массивом и массивом?
- 5. В чем разница между «строкой» и «строкой»?
- 6. В чем разница между строкой и строкой?
- 7. В чем разница между массивом и списком
- 8. В чем разница между массивом и ArrayList?
- 9. В чем разница между матрицей и массивом?
- 10. В чем разница между массивом и объектом?
- 11. В чем разница между словарем и массивом?
- 12. Разница между строкой [,] и строкой [] []
- 13. В чем разница между строкой и StringBuilder?
- 14. В чем разница между CharSequence [] и строкой []?
- 15. В чем разница между строкой. и String.this. ?
- 16. Разница между массивом символов и указателем
- 17. В чем разница между строкой и строкой и var?
- 18. В чем разница между массивом и литеральным массивом в Smalltalk?
- 19. я не понимаю разницы между массивом символов и символом * строкой
- 20. Разница между массивом и массивом?
- 21. В чем разница между строкой и «двоичной» строкой в PHP?
- 22. В чем разница между строкой и строкой в Dart?
- 23. В чем разница между строкой * и строкой в Golang?
- 24. В чем разница между пустым массивом и пустым массивом?
- 25. В чем разница между массивом и динамическим массивом?
- 26. В чем разница между примитивным массивом и массивом ссылки.
- 27. В чем разница между массивом NumPy и простым массивом python?
- 28. В чем разница между массивом и наблюдаемым массивом?
- 29. В чем разница между вложенным массивом и ассоциативным массивом?
- 30. В чем разница между массивом [1] [2] и массивом [1,2]?
Пожалуйста, укажите ваш вопрос как вопрос. –
На каком языке и сколько баллов ответ заработает? – Lazarus
Наверное, для этого человека характерен запах. –