Java string from int array

Преобразование массива в строку

В этом коротком уроке мы рассмотрим преобразование массива строк или целых чисел в строку и обратно.

Мы можем достичь этого с помощью классов утилит vanilla Java и Java из часто используемых библиотек.

2. Преобразуйте массив в строку

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

Реализация по умолчанию метода toString() в массиве возвращает что-то вроде Ljava.lang.Строка;@74a10858 , которая информирует нас только о типе объекта и хэш-коде.

Однако файл java.util.Класс утилиты Arrays поддерживает манипуляции с массивами и строками, включая метод toString() для массивов.

Arrays.toString() возвращает строку с содержимым входного массива. Созданная новая строка представляет собой разделенный запятыми список элементов массива, заключенный в квадратные скобки (“[]”):

String[] strArray = < "one", "two", "three" >; String joinedString = Arrays.toString(strArray); assertEquals("[one, two, three]", joinedString);
int[] intArray = < 1,2,3,4,5 >; joinedString = Arrays.toString(intArray); assertEquals("[1, 2, 3, 4, 5]", joinedString);

И хотя здорово, что метод Arrays.toString(int[]) так хорошо справляется с этой задачей, давайте сравним его с различными методами, которые мы можем реализовать самостоятельно.

2.1. StringBuilder.append()

Для начала давайте рассмотрим, как выполнить это преобразование с помощью StringBuilder.append() :

String[] strArray = < "Convert", "Array", "With", "Java" >; StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < strArray.length; i++) < stringBuilder.append(strArray[i]); >String joinedString = stringBuilder.toString(); assertEquals("ConvertArrayWithJava", joinedString);

Кроме того, для преобразования массива целых чисел мы можем использовать тот же подход, но вместо этого вызываем Integer.valueOf(intArray[i]) при добавлении к нашему StringBuilder .

2.2. API потоков Java

Java 8 и выше предлагает метод String.join () , который создает новую строку, соединяя элементы и разделяя их указанным разделителем, в нашем случае просто пустой строкой:

String joinedString = String.join("", new String[]< "Convert", "With", "Java", "Streams" >); assertEquals("ConvertWithJavaStreams", joinedString);

Кроме того, мы можем использовать метод Collectors.joining() из API Java Streams, который соединяет строки из Stream в том же порядке, что и исходный массив:

String joinedString = Arrays .stream(new String[]< "Convert", "With", "Java", "Streams" >) .collect(Collectors.joining()); assertEquals("ConvertWithJavaStreams", joinedString);

2.3. StringUtils.join()

И Apache Commons Lang никогда не должен оставаться в стороне от подобных задач.

Читайте также:  Thread based program in java

Класс StringUtils имеет несколько методов StringUtils.join () , которые можно использовать для преобразования массива строк в одну строку:

String joinedString = StringUtils.join(new String[]< "Convert", "With", "Apache", "Commons" >); assertEquals("ConvertWithApacheCommons", joinedString);

2.4. Столяр.()

И чтобы не быть превзойденным, Гуава вмещает то же самое со своим Столяром | классом. Класс Joiner предлагает свободный API и предоставляет несколько вспомогательных методов для объединения данных.

Например, мы можем добавить разделитель или пропустить нулевые значения:

String joinedString = Joiner.on("") .skipNulls() .join(new String[]< "Convert", "With", "Guava", null >); assertEquals("ConvertWithGuava", joinedString);

3. Преобразуйте строку в массив строк

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

3.1. Строка.разделение()

Во-первых, давайте начнем с разделения пробела с помощью метода String.split() без разделителя:

String[] strArray = "loremipsum".split("");

3.2. StringUtils.split()

Во-вторых, давайте еще раз посмотрим на класс StringUtils из библиотеки Commons Lang Apache.

Среди многих null-безопасных методов для строковых объектов мы можем найти StringUtils.split(). По умолчанию используется разделитель пробелов:

String[] splitted = StringUtils.split("lorem ipsum dolor sit amet");
["lorem", "ipsum", "dolor", "sit", "amet"]

Но мы также можем предоставить разделитель, если захотим.

3.3. Splitter.split()

Наконец, мы также можем использовать Guava с его Splitter fluent API:

List resultList = Splitter.on(' ') .trimResults() .omitEmptyStrings() .splitToList("lorem ipsum dolor sit amet"); String[] strArray = resultList.toArray(new String[0]);
["lorem", "ipsum", "dolor", "sit", "amet"]

4. Заключение

В этой статье мы проиллюстрировали, как преобразовать массив в строку и обратно с помощью основных библиотек Java и популярных утилит.

Конечно, реализацию всех этих примеров и фрагментов кода можно найти на GitHub .

Читайте ещё по теме:

Источник

Как массив int записать в строку

Как массив int записать в строку.
Я создаю массив int после чего мне его нужно преобразовать в строку чтобы записать в файл.

Читайте также:  Уроки по созданию php

Не могу нигде найти — как преобразовать массив int в строку, или сразу в число
Народ помогите пожалуйста. Число long 9876543210 было переведено в int namArr = .

Как перевести число int в массив int digits[]
String fileName1=123456; int n=fileName1.length(),i=0; int digits = new int; .

Записать строку в массив
Необходимо закинуть данную строку в массив. public class Main < public static void.

Записать строку из файла в массив
У меня есть массив int array , мне нужно считать из файла строку с элементами (1 8 6 45 9 0 3 8).

String а+= Integer.toString(maas[i] );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
public static void main(String args[]) { //такой способ int[] array = {1, 2, 3, 4, 5, 6}; String str = ""; for (int value : array) { str = String.format("%s%s", str, value); } System.out.println(str); //или такой способ int[] array2 = {1, 2, 3, 4, 5, 6}; StringBuilder sb = new StringBuilder(); for (int value : array2) { sb.append(value); } System.out.println(sb.toString()); //или вот этот способ int[] array3 = {1, 2, 3, 4, 5, 6}; String str2 = ""; for (int value : array2) { str2 = str2.concat(String.valueOf(value)); } System.out.println(str2); }

Sergey280995, это конечно не мое дело, если не захочешь отвечать, не надо. Но почему бы не записать в файл int’ы?

Разделить строку на подстроки и записать в массив
Пожалуйста, подскажите, как написать цикл. Есть String nsString; , в который записано.

Как строковый массив из чисел преобразовать в двумерный массив int[][]Ребят, помогите пожалуйста с задачей Имеется массив String a, в котором хранятся числа: .

Как записать в строку
Есть метод который считает количество букв в веденной строке и выводит сколько каких букв было в.

Читайте также:  Javascript get digits from number

Источник

Java.util.Arrays.toString(int[ ]) Method

The java.util.Arrays.toString(int[]) method returns a string representation of the contents of the specified int array. The string representation consists of a list of the array’s elements, enclosed in square brackets («[]»). Adjacent elements are separated by the characters «, » (a comma followed by a space).

Declaration

Following is the declaration for java.util.Arrays.toString() method

public static String toString(int[] a)

Parameters

a − This is the array whose string representation to return.

Return Value

This method returns a string representation of a.

Exception

Example

The following example shows the usage of java.util.Arrays.toString() method.

package com.tutorialspoint; import java.util.Arrays; public class ArrayDemo < public static void main(String[] args) < // initializing int array int[] i1 = new int[] < 33, 12, 98 >; // let us print all the elements available in list System.out.println("The array is:"); for (int number : i1) < System.out.println("Number = " + number); >System.out.println("The string representation of array is:"); System.out.println(Arrays.toString(i1)); > >

Let us compile and run the above program, this will produce the following result −

The array is: Number = 33 Number = 12 Number = 98 The string representation of array is: [33, 12, 98]

Источник

Оцените статью