Перетворення масиву символів на рядок у Java
Рядки визначаються як масив символів. Різниця між масивом символів і рядком полягає в тому, що рядок завершується спеціальним символом . Масив символів можна перетворити на рядок і навпаки. У попередній статті ми вже обговорювали, як перетворити a рядок до масиву символів . У цій статті ми обговоримо, як перетворити масив символів на рядок.
Ілюстрації:
Вхід 1: char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }
Вихід 1: geeksforgeeks
Вхід 2: char s[] = { ‘c’, ‘o’, ‘d’, ‘i’, ‘n’, ‘g’ }
Результат 2: кодування
Методи:
- Використання методу copyOf() класу Arrays
- Використання класу StringBuilder
- Використання методу valueOf() класу String
- Використання методу copyValueOf() класу String
- Використання колекторів у потоках
Тепер давайте детально обговоримо кожен із методів разом із їх реалізацією за допомогою чистої програми на Java.
Спосіб 1: Використання методу copyOf() класу Array
Даний символ можна передати в Конструктор рядків . За замовчуванням вміст масиву символів копіюється за допомогою методу Arrays.copyOf() у Клас масивів .
приклад:
Java
// Java Program to Convert Character Array to String> // Using copyOf() method ofArrays() Class> // Importing required classes> import> java.util.*;> // Main class> class> GFG {> > // Method 1> > // To convert a character> > // array to a string using the constructor> > public> static> String toString(> char> [] a)> > {> > // Creating object of String class> > String string => new> String(a);> > return> string;> > }> > // Method 2> > // Main driver method> > public> static> void> main(String args[])> > {> > // Declaring and initializing a character array> > char> s[] = {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> ,> 'f'> ,> 'o'> ,> > 'r'> ,> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > // Printing converted string from character array> > System.out.println(toString(s));> > }> }> |
Вихід:
geeksforgeeks
Спосіб 2: Використання класу StringBuilder
Інший спосіб перетворити масив символів на рядок - це використовувати Клас StringBuilder . Оскільки StringBuilder є змінним класом, отже, ідея полягає в тому, щоб перебирати масив символів і додавати кожен символ у кінець рядка. Нарешті, рядок містить рядкову форму символів.
приклад:
Java
// Java Program to Convert Character Array to String> // Using StringBuilder Class> // Importing required classes> import> java.util.*;> // Main class> public> class> GFG {> > // Method 1> > // To convert a character array to a string> > // using the StringBuilder class> > public> static> String toString(> char> [] a)> > {> > // Creating object of String class> > StringBuilder sb => new> StringBuilder();> > // Creating a string using append() method> > for> (> int> i => 0> ; i sb.append(a[i]); } return sb.toString(); } // Method 2 // Main driver method public static void main(String args[]) { // Declaring and initialzaing input character array char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }; // Printing the string // corresponding to character array System.out.println(toString(s)); } }> |
Вихід
geeksforgeeks
Спосіб 3: Використання методу valueOf() класу String
Інший спосіб перетворити масив символів на рядок - це використовувати valueOf() метод, присутній у класі String. Цей метод за своєю суттю перетворює масив символів у формат, у якому відображається повне значення символів, наявних у масиві. Цей метод зазвичай перетворює int, float, double, char, boolean і навіть object на рядок. Тут ми досягнемо мети, перетворивши наш масив символів у рядок.
приклад:
Java
// Java Program to Convert Character Array to String> // Using valueOf() method of String Class> // Importing required classes> import> java.util.*;> // Main class> class> GFG {> > // Method 1> > // To convert a character array to string> > // using the valueOf() method> > public> static> String toString(> char> [] a)> > {> > // Creating an object of String class> > String string = String.valueOf(a);> > return> string;> > }> > // Method 2> > // Main driver method> > public> static> void> main(String args[])> > {> > // Declaring and initializing input character array> > char> s[] = {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> ,> 'f'> ,> 'o'> ,> > 'r'> ,> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > // Print the corresponding string to> > // character array> > System.out.println(toString(s));> > }> }> |
Вихід
geeksforgeeks
Спосіб 4: Використання методу copyValueOf() класу String
Вміст із масиву символів копіюється та згодом змінюється, не впливаючи на рядок, який повертається, отже, цей метод також дозволяє нам перетворити масив символів на рядок, який можна сприйняти ще краще з наведеного нижче прикладу.
приклад:
Java
// Java Program to Convert Character Array to String> // Using copyValueOf() method of String Class> // Importing String class> import> java.util.*;> // Main class> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > {> > // Declaring and initializing input character array> > char> [] arr = {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> ,> 'f'> ,> 'o'> ,> > 'r'> ,> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > // Storing it in a string> > // using copyValueOf() over string> > String str = String.copyValueOf(arr);> > // Printing the converted string corresponding> > // character array> > System.out.print(str);> > }> }> |
Вихід
geeksforgeeks
Спосіб 5: Використання колекторів у потоках
З появою потоків у java8 ми одразу використовуємо Collectors у потоках, щоб змінювати елементи масиву введення символів, а пізніше використовуємо метод joining(), повертаємо один рядок і друкуємо його.
приклад:
Java
// Java Program to Convert a Character array to String> // Using Collectors in Streams in Java8> // Importing Collectos and Stream classes> // from java.util.stream package> import> java.util.stream.Collectors;> import> java.util.stream.Stream;> // Main class> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > {> > // Custom input character array> > char> [] charr = {> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> ,> 'f'> ,> 'o'> ,> > 'r'> ,> 'g'> ,> 'e'> ,> 'e'> ,> 'k'> ,> 's'> };> > // Using collectors to collect array elements and> > // later using joining method to return a single> > // string> > String str = Stream.of(charr)> > .map(arr ->> new> String(arr))> > .collect(Collectors.joining());> > // Printing the stream received from Collectors> > System.out.println(str);> > }> }> |
Вихід
geeksforgeeks