BAEL-5228: Adding code for approaches to concatenating null string in java (#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 <vaibhav.ashokjain@vodafone.com>
This commit is contained in:
vaibhav007jain 2021-11-30 08:51:17 +05:30 committed by GitHub
parent 719c4e4e0b
commit 2026f9cae7
2 changed files with 145 additions and 0 deletions

View File

@ -0,0 +1,86 @@
package com.baeldung.concatenation;
import java.util.StringJoiner;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ConcatenatingNull {
public static void main(String[] args) {
String[] values = { "Java ", null, "", "is ", "great!" };
concatenateUsingPlusOperator(values);
concatenateUsingHelperMethod(values);
concatenateUsingStringBuilder(values);
concatenateUsingJoin(values);
concatenateUsingStringJoiner(values);
concatenateUsingCollectorsJoining(values);
concatenateUsingStringConcat(values);
}
public static String concatenateUsingStringConcat(String[] values) {
String result = "";
for (String value : values) {
result = result.concat(getNonNullString(value));
}
return result;
}
public static String concatenateUsingCollectorsJoining(String[] values) {
String result = Stream.of(values).filter(value -> null != value).collect(Collectors.joining(""));
return result;
}
public static String concatenateUsingStringJoiner(String[] values) {
StringJoiner result = new StringJoiner("");
for (String value : values) {
result = result.add(getNonNullString(value));
}
return result.toString();
}
public static String concatenateUsingJoin(String[] values) {
String result = String.join("", values);
return result;
}
public static String concatenateUsingStringBuilder(String[] values) {
StringBuilder result = new StringBuilder();
for (String value : values) {
result = result.append(getNonNullString(value));
}
return result.toString();
}
public static String concatenateUsingHelperMethod(String[] values) {
String result = "";
for (String value : values) {
result = result + getNonNullString(value);
}
return result;
}
public static String concatenateUsingPlusOperator(String[] values) {
String result = "";
for (String value : values) {
result = result + (value == null ? "" : value);
}
return result;
}
private static String getNonNullString(String value) {
return value == null ? "" : value;
}
}

View File

@ -0,0 +1,59 @@
package com.baeldung.concatenation;
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingCollectorsJoining;
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingHelperMethod;
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingJoin;
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingPlusOperator;
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingStringBuilder;
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingStringConcat;
import static com.baeldung.concatenation.ConcatenatingNull.concatenateUsingStringJoiner;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class ConcatenatingNullUnitTest {
String[] values = { "Java ", null, "", "is ", "great!" };
@Test
public void givenStringElementsWithNull_whenConcatenatedUsingPlus_thenNullIsIgnored() {
String result = concatenateUsingPlusOperator(values);
assertEquals("Java is great!", result);
}
@Test
public void givenStringElementsWithNull_whenConcatenatedUsingHelperMethod_thenNullIsIgnored() {
String result = concatenateUsingHelperMethod(values);
assertEquals("Java is great!", result);
}
@Test
public void givenStringElementsWithNull_whenConcatenatedUsingStringBuilder_thenNullIsIgnored() {
String result = concatenateUsingStringBuilder(values);
assertEquals("Java is great!", result);
}
@Test
public void givenStringElementsWithNull_whenConcatenatedUsingJoin_thenNullIsNotIgnored() {
String result = concatenateUsingJoin(values);
assertEquals("Java nullis great!", result);
}
@Test
public void givenStringElementsWithNull_whenConcatenatedUsingStringJoiner_thenNullIsIgnored() {
String result = concatenateUsingStringJoiner(values);
assertEquals("Java is great!", result);
}
@Test
public void givenStringElementsWithNull_whenConcatenatedUsingCollectorsJoining_thenNullIsIgnored() {
String result = concatenateUsingCollectorsJoining(values);
assertEquals("Java is great!", result);
}
@Test
public void givenStringElementsWithNull_whenConcatenatedUsingStringConcat_thenNullIsIgnored() {
String result = concatenateUsingStringConcat(values);
assertEquals("Java is great!", result);
}
}