Автор оригинала: Pankaj Kumar.
Сегодня мы узнаем, как преобразовать строку в массив символов, а затем массив символов в строку на Java.
Строка tochararray
Строка Java – это поток символов. Класс String предоставляет служебный метод для преобразования строки в массив символов в java. Давайте рассмотрим это с помощью простой программы.
package com.journaldev.util;
import java.util.Arrays;
public class StringToCharArray {
public static void main(String[] args) {
String str = "journaldev.com";
char[] charArr = str.toCharArray();
// print the char[] elements
System.out.println("String converted to char array: "
+ Arrays.toString(charArr));
}
}
На рисунке ниже показан результат, полученный вышеуказанной программой.
Строка.toCharArray внутреннее использование Система класс arraycopy метод. Вы можете видеть это из приведенной ниже реализации метода.
public char[] toCharArray() {
char result[] = new char[value.length];
System.arraycopy(value, 0, result, 0, value.length);
return result;
}
Обратите внимание на использование метода Arrays.toString для печати массива символов. Массивы – это служебный класс в java, который предоставляет множество полезных методов для работы с массивом. Например, мы можем использовать класс Arrays для поиска, сортировки и операций копирования массива java|/.
массив символов в строку
Давайте рассмотрим простую программу для преобразования массива символов в строку на Java.
package com.journaldev.util;
public class CharArrayToString {
public static void main(String[] args) {
char[] charArray = {'P','A','N','K','A','J'};
String str = new String(charArray);
System.out.println(str);
}
}
На рисунке ниже показан вывод, полученный программой преобразования массива символов в строку.
Мы используем конструктор класса String, который принимает массив символов в качестве аргумента для создания строки из массива символов. Однако, если вы посмотрите на реализацию этого конструктора, он использует метод Arrays.copyOf внутри.
public String(char value[]) {
this.value = Arrays.copyOf(value, value.length);
}
Снова Arrays.copyOf метод внутреннего использования System.arraycopy собственный метод.
public static char[] copyOf(char[] original, int newLength) {
char[] copy = new char[newLength];
System.arraycopy(original, 0, copy, 0,
Math.min(original.length, newLength));
return copy;
}
Таким образом, мы можем ясно видеть, что System arraycopy () – это метод, используемый как в строках для массива символов, так и в строковых операциях с массивом символов. Это все для преобразования строки в массив символов и массива символов в пример программы.
Ссылка: toCharArray API Doc