Skip to content

Commit 915cbfd

Browse files
vaibhav007jainVaibhav Jain
andauthored
BAEL-5228: Adding code for approaches to concatenating null string in java (eugenp#11464)
* commited initial code for hexagonal architecture * Deleting to check in again * Deleing to check in again * Push first code for Hexagonal Architecture * final code with UT for JSON to Java conversion * removed hexagonal-architecture code from last commit * BEL-5071 updated README * BAEL-5071: Undo README changes and added a nested object in the JSON example. * BAEL-5071: fixed whitespace/indentation in JsonToJavaClassConversion.java * BAEL-5151: Added code for getting the first of a String * BAEL-5151: Renamed Unit Test * BAEL-5151: Moved the files from core-java-string-operations to core-java-string-operations-3 * BAEL-5151: Replaced tabs with white spaces. * BAEL-5228: Adding code for approaches to concatening null string in java * BAEL-5228: Moved file to correct folder and added a UT. * BAEL-5228: corrected import statements. * BAEL-5228: corrected last commit. * BAEL-5228: removed extra import. * BAEL-5228: renamed UT Co-authored-by: Vaibhav Jain <[email protected]>
1 parent 3041ad3 commit 915cbfd

File tree

2 files changed

+145
-0
lines changed

2 files changed

+145
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package com.baeldung.concatenation;
2+
3+
import java.util.StringJoiner;
4+
import java.util.stream.Collectors;
5+
import java.util.stream.Stream;
6+
7+
public class ConcatenatingNull {
8+
9+
public static void main(String[] args) {
10+
String[] values = { "Java ", null, "", "is ", "great!" };
11+
12+
concatenateUsingPlusOperator(values);
13+
concatenateUsingHelperMethod(values);
14+
concatenateUsingStringBuilder(values);
15+
concatenateUsingJoin(values);
16+
concatenateUsingStringJoiner(values);
17+
concatenateUsingCollectorsJoining(values);
18+
concatenateUsingStringConcat(values);
19+
}
20+
21+
public static String concatenateUsingStringConcat(String[] values) {
22+
String result = "";
23+
24+
for (String value : values) {
25+
result = result.concat(getNonNullString(value));
26+
}
27+
28+
return result;
29+
}
30+
31+
public static String concatenateUsingCollectorsJoining(String[] values) {
32+
String result = Stream.of(values).filter(value -> null != value).collect(Collectors.joining(""));
33+
34+
return result;
35+
}
36+
37+
public static String concatenateUsingStringJoiner(String[] values) {
38+
StringJoiner result = new StringJoiner("");
39+
40+
for (String value : values) {
41+
result = result.add(getNonNullString(value));
42+
}
43+
44+
return result.toString();
45+
}
46+
47+
public static String concatenateUsingJoin(String[] values) {
48+
String result = String.join("", values);
49+
50+
return result;
51+
}
52+
53+
public static String concatenateUsingStringBuilder(String[] values) {
54+
StringBuilder result = new StringBuilder();
55+
56+
for (String value : values) {
57+
result = result.append(getNonNullString(value));
58+
}
59+
60+
return result.toString();
61+
}
62+
63+
public static String concatenateUsingHelperMethod(String[] values) {
64+
String result = "";
65+
66+
for (String value : values) {
67+
result = result + getNonNullString(value);
68+
}
69+
70+
return result;
71+
}
72+
73+
public static String concatenateUsingPlusOperator(String[] values) {
74+
String result = "";
75+
76+
for (String value : values) {
77+
result = result + (value == null ? "" : value);
78+
}
79+
80+
return result;
81+
}
82+
83+
private static String getNonNullString(String value) {
84+
return value == null ? "" : value;
85+
}
86+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package com.baeldung.concatenation;
2+
3+
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingCollectorsJoining;
4+
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingHelperMethod;
5+
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingJoin;
6+
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingPlusOperator;
7+
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingStringBuilder;
8+
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingStringConcat;
9+
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingStringJoiner;
10+
import static org.junit.jupiter.api.Assertions.assertEquals;
11+
12+
import org.junit.jupiter.api.Test;
13+
14+
public class ConcatenatingNullUnitTest {
15+
16+
String[] values = { "Java ", null, "", "is ", "great!" };
17+
18+
@Test
19+
public void givenStringElementsWithNull_whenConcatenatedUsingPlus_thenNullIsIgnored() {
20+
String result = concatenateUsingPlusOperator(values);
21+
assertEquals("Java is great!", result);
22+
}
23+
24+
@Test
25+
public void givenStringElementsWithNull_whenConcatenatedUsingHelperMethod_thenNullIsIgnored() {
26+
String result = concatenateUsingHelperMethod(values);
27+
assertEquals("Java is great!", result);
28+
}
29+
30+
@Test
31+
public void givenStringElementsWithNull_whenConcatenatedUsingStringBuilder_thenNullIsIgnored() {
32+
String result = concatenateUsingStringBuilder(values);
33+
assertEquals("Java is great!", result);
34+
}
35+
36+
@Test
37+
public void givenStringElementsWithNull_whenConcatenatedUsingJoin_thenNullIsNotIgnored() {
38+
String result = concatenateUsingJoin(values);
39+
assertEquals("Java nullis great!", result);
40+
}
41+
42+
@Test
43+
public void givenStringElementsWithNull_whenConcatenatedUsingStringJoiner_thenNullIsIgnored() {
44+
String result = concatenateUsingStringJoiner(values);
45+
assertEquals("Java is great!", result);
46+
}
47+
48+
@Test
49+
public void givenStringElementsWithNull_whenConcatenatedUsingCollectorsJoining_thenNullIsIgnored() {
50+
String result = concatenateUsingCollectorsJoining(values);
51+
assertEquals("Java is great!", result);
52+
}
53+
54+
@Test
55+
public void givenStringElementsWithNull_whenConcatenatedUsingStringConcat_thenNullIsIgnored() {
56+
String result = concatenateUsingStringConcat(values);
57+
assertEquals("Java is great!", result);
58+
}
59+
}

0 commit comments

Comments
 (0)