Строка как массив символов java
Перейти к содержимому

Строка как массив символов java

  • автор:

toCharArray() в Java — Сделать из строки массив чаров

Метод toCharArray() создает из строки массив чаров (от англ. — char).

Синтаксис метода:

Вызов:

Пример:

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть строка «ABC». С помощью метода toCharArray() мы перевели эту строку в массив чаров <'A', 'B', 'C'>.

Для того, чтобы продемонстрировать результат, мы создали цикл, и вывели на экран каждый элемент массива по отдельности.

Данная статья написана Vertex Academy. Можно пройти наши курсы Java с нуля. Детальнее на сайте.

Class String

Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared. For example:

is equivalent to:

Here are some more examples of how strings can be used:

The class String includes methods for examining individual characters of the sequence, for comparing strings, for searching strings, for extracting substrings, and for creating a copy of a string with all characters translated to uppercase or to lowercase. Case mapping is based on the Unicode Standard version specified by the Character class.

The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. For additional information on string concatenation and conversion, see The Java Language Specification.

Unless otherwise noted, passing a null argument to a constructor or method in this class will cause a NullPointerException to be thrown.

A String represents a string in the UTF-16 format in which supplementary characters are represented by surrogate pairs (see the section Unicode Character Representations in the Character class for more information). Index values refer to char code units, so a supplementary character uses two positions in a String .

The String class provides methods for dealing with Unicode code points (i.e., characters), in addition to those for dealing with Unicode code units (i.e., char values).

Unless otherwise noted, methods for comparing Strings do not take locale into account. The Collator class provides methods for finer-grain, locale-sensitive String comparison.

Устройство класса String

Сегодня мы поговорим о классе String . Класс String — самый популярный класс в Java после типа int. Он используется абсолютно везде. У него есть куча полезных методов, которые лучше знать, чем не знать.

Класс String — единственный класс, кроме примитивных типов, литералы которого можно использовать в switch ; компилятор по-особому обрабатывает сложение строк и объектов; объекты String по-особому хранятся в памяти. В общем, класс String — это очень специфический класс.

Также у класса String есть куча классов-сателлитов, цель которых — еще больше упростить работу со строками в Java. Когда вы изучите все это, вам действительно станет значительно проще делать многие вещи. Ну а начнем мы с самого сердца этой экосистемы — с устройства класса String .

Массив символов

А устроен класс String на самом деле очень просто: внутри него находится массив символов (char), который хранит все символы строки. Вот так, например, хранится слово «Привет»:

Устройство класса String

На самом деле все немного не так. Т.к. класс String очень важен, в нем используется очень много оптимизаций, и данные хранятся внутри не в виде массива символов, а просто в виде массива байтов.

2. Методы класса String

У класса String очень много методов: одних только конструкторов у него 18 штук! Поэтому ниже мы приведем только самые основные из них:

Методы Описание
Возвращает количество символов в строке
Проверяет, что строка == пустая строка
Проверяет, что в строке — только whitespace-символы: пробел, tab, enter и т.п.
Возвращает символ, который стоит на index-позиции в строке.
Возвращает массив символов (копию), из которых состоит строка
Преобразует строку в набор байт и возвращает массив байт.
Разделяет строку на несколько подстрок.
Склеивает вместе несколько подстрок
Помещает строку в пул StringPool .

Больше о конструкторах вы можете узнать из статьи Зачем нужен конструктор?

Давайте напишем программу, которая преобразовывает путь к файлу из Unix Style в Windows Style. Unix в качестве разделителя директорий использует символ / , Windows — символ \ .

Решение 1 — использование массива char’ов

Преобразование строки в массив символов
Цикл по символам
Если символ равен / ,
заменить его на \ . Не забываем про экранирование.

Решение 2 — использование методов split() и join() :

Преобразование строки в массив строк . В качестве разделителя используется символ / (дополнительные два слеша – это следствие двойного экранирования).
Объединяем все строки из массива строк , в качестве разделителя используется символ \ (мы видим его экранированным).

Решение 3 — использование метода replace(char oldChar, char newChar) :

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *