Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5ba5b60

Browse filesBrowse files
gwidelecheyne
authored andcommitted
BAEL-2368 convert array to string and back (eugenp#5689)
* BAEL-2368 convert string array to string * BAEL-2368 Convert array to string code * BAEL-2368 Change package * Fix for test
1 parent 0ec5d24 commit 5ba5b60
Copy full SHA for 5ba5b60

File tree

Expand file treeCollapse file tree

1 file changed

+136
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+136
-0
lines changed
Open diff view settings
Collapse file
+136Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
package org.baeldung.convertarraytostring;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
import java.util.stream.Collectors;
6+
7+
import org.apache.commons.lang3.StringUtils;
8+
import org.junit.Test;
9+
10+
import com.google.common.base.Joiner;
11+
import com.google.common.base.Splitter;
12+
13+
import static org.hamcrest.CoreMatchers.instanceOf;
14+
import static org.hamcrest.MatcherAssert.assertThat;
15+
import static org.junit.Assert.assertEquals;
16+
17+
public class ArrayToStringUnitTest {
18+
19+
// convert with Java
20+
21+
@Test
22+
public void givenAStringArray_whenConvertBeforeJava8_thenReturnString() {
23+
24+
String[] strArray = { "Convert", "Array", "With", "Java" };
25+
StringBuilder stringBuilder = new StringBuilder();
26+
27+
for (int i = 0; i < strArray.length; i++) {
28+
stringBuilder.append(strArray[i]);
29+
}
30+
String joinedString = stringBuilder.toString();
31+
32+
assertThat(joinedString, instanceOf(String.class));
33+
assertEquals("ConvertArrayWithJava", joinedString);
34+
}
35+
36+
@Test
37+
public void givenAString_whenConvertBeforeJava8_thenReturnStringArray() {
38+
39+
String input = "lorem ipsum dolor sit amet";
40+
String[] strArray = input.split(" ");
41+
42+
assertThat(strArray, instanceOf(String[].class));
43+
assertEquals(5, strArray.length);
44+
45+
input = "loremipsum";
46+
strArray = input.split("");
47+
assertThat(strArray, instanceOf(String[].class));
48+
assertEquals(10, strArray.length);
49+
}
50+
51+
@Test
52+
public void givenAnIntArray_whenConvertBeforeJava8_thenReturnString() {
53+
54+
int[] strArray = { 1, 2, 3, 4, 5 };
55+
StringBuilder stringBuilder = new StringBuilder();
56+
57+
for (int i = 0; i < strArray.length; i++) {
58+
stringBuilder.append(Integer.valueOf(strArray[i]));
59+
}
60+
String joinedString = stringBuilder.toString();
61+
62+
assertThat(joinedString, instanceOf(String.class));
63+
assertEquals("12345", joinedString);
64+
}
65+
66+
// convert with Java Stream API
67+
68+
@Test
69+
public void givenAStringArray_whenConvertWithJavaStream_thenReturnString() {
70+
71+
String[] strArray = { "Convert", "With", "Java", "Streams" };
72+
String joinedString = Arrays.stream(strArray)
73+
.collect(Collectors.joining());
74+
assertThat(joinedString, instanceOf(String.class));
75+
assertEquals("ConvertWithJavaStreams", joinedString);
76+
77+
joinedString = Arrays.stream(strArray)
78+
.collect(Collectors.joining(","));
79+
assertThat(joinedString, instanceOf(String.class));
80+
assertEquals("Convert,With,Java,Streams", joinedString);
81+
}
82+
83+
84+
// convert with Apache Commons
85+
86+
@Test
87+
public void givenAStringArray_whenConvertWithApacheCommons_thenReturnString() {
88+
89+
String[] strArray = { "Convert", "With", "Apache", "Commons" };
90+
String joinedString = StringUtils.join(strArray);
91+
92+
assertThat(joinedString, instanceOf(String.class));
93+
assertEquals("ConvertWithApacheCommons", joinedString);
94+
}
95+
96+
@Test
97+
public void givenAString_whenConvertWithApacheCommons_thenReturnStringArray() {
98+
99+
String input = "lorem ipsum dolor sit amet";
100+
String[] strArray = StringUtils.split(input, " ");
101+
102+
assertThat(strArray, instanceOf(String[].class));
103+
assertEquals(5, strArray.length);
104+
}
105+
106+
107+
// convert with Guava
108+
109+
@Test
110+
public void givenAStringArray_whenConvertWithGuava_thenReturnString() {
111+
112+
String[] strArray = { "Convert", "With", "Guava", null };
113+
String joinedString = Joiner.on("")
114+
.skipNulls()
115+
.join(strArray);
116+
117+
assertThat(joinedString, instanceOf(String.class));
118+
assertEquals("ConvertWithGuava", joinedString);
119+
}
120+
121+
122+
@Test
123+
public void givenAString_whenConvertWithGuava_thenReturnStringArray() {
124+
125+
String input = "lorem ipsum dolor sit amet";
126+
127+
List<String> resultList = Splitter.on(' ')
128+
.trimResults()
129+
.omitEmptyStrings()
130+
.splitToList(input);
131+
String[] strArray = resultList.toArray(new String[0]);
132+
133+
assertThat(strArray, instanceOf(String[].class));
134+
assertEquals(5, strArray.length);
135+
}
136+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.