diff --git a/core-java-modules/core-java-string-conversions-2/README.md b/core-java-modules/core-java-string-conversions-2/README.md
new file mode 100644
index 0000000000..b4da1b8bad
--- /dev/null
+++ b/core-java-modules/core-java-string-conversions-2/README.md
@@ -0,0 +1,9 @@
+## Java String Conversions
+
+This module contains articles about string conversions from/to another type.
+
+### Relevant Articles:
+- [Java String Conversions](https://www.baeldung.com/java-string-conversions)
+- [Convert String to Byte Array and Reverse in Java](https://www.baeldung.com/java-string-to-byte-array)
+- [Convert Char Array to String](https://www.baeldung.com/java-char-array-to-string)
+- More articles: [[<-- prev]](/core-java-string-conversions)
diff --git a/core-java-modules/core-java-string-conversions-2/pom.xml b/core-java-modules/core-java-string-conversions-2/pom.xml
new file mode 100644
index 0000000000..396d836e6b
--- /dev/null
+++ b/core-java-modules/core-java-string-conversions-2/pom.xml
@@ -0,0 +1,47 @@
+
+ 4.0.0
+ core-java-string-conversions-2
+ 0.1.0-SNAPSHOT
+ jar
+ core-java-string-conversions-2
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../../parent-java
+
+
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.hamcrest
+ hamcrest-library
+ ${org.hamcrest.version}
+ test
+
+
+
+
+ core-java-string-conversions-2
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
diff --git a/java-strings-ops/src/main/java/com/baeldung/datetime/UseLocalDateTime.java b/core-java-modules/core-java-string-conversions-2/src/main/java/com/baeldung/stringconversions/UseLocalDateTime.java
similarity index 84%
rename from java-strings-ops/src/main/java/com/baeldung/datetime/UseLocalDateTime.java
rename to core-java-modules/core-java-string-conversions-2/src/main/java/com/baeldung/stringconversions/UseLocalDateTime.java
index 7f39ac2f91..7b43c3b588 100644
--- a/java-strings-ops/src/main/java/com/baeldung/datetime/UseLocalDateTime.java
+++ b/core-java-modules/core-java-string-conversions-2/src/main/java/com/baeldung/stringconversions/UseLocalDateTime.java
@@ -1,4 +1,4 @@
-package com.baeldung.datetime;
+package com.baeldung.stringconversions;
import java.time.LocalDateTime;
diff --git a/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/chararraytostring/CharArrayToStringConversionUnitTest.java
similarity index 97%
rename from java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java
rename to core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/chararraytostring/CharArrayToStringConversionUnitTest.java
index 1030185c3e..dc68632f0b 100644
--- a/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java
+++ b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/chararraytostring/CharArrayToStringConversionUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.string.charArrayToString;
+package com.baeldung.chararraytostring;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
diff --git a/java-strings-ops/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringconversions/StringConversionUnitTest.java
similarity index 97%
rename from java-strings-ops/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java
rename to core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringconversions/StringConversionUnitTest.java
index fbbbb21ccd..d896b92b5c 100644
--- a/java-strings-ops/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java
+++ b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringconversions/StringConversionUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.java.conversion;
+package com.baeldung.stringconversions;
import static org.junit.Assert.assertEquals;
@@ -13,8 +13,6 @@ import java.util.GregorianCalendar;
import org.junit.Test;
-import com.baeldung.datetime.UseLocalDateTime;
-
public class StringConversionUnitTest {
@Test
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/ByteArrayToStringUnitTest.java
similarity index 98%
rename from java-strings-ops/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java
rename to core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/ByteArrayToStringUnitTest.java
index a9f8a04c8d..e5efffd8f7 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java
+++ b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/ByteArrayToStringUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.string.conversion;
+package com.baeldung.stringtobytearray;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --git a/java-strings-ops/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/StringToByteArrayUnitTest.java
similarity index 99%
rename from java-strings-ops/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java
rename to core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/StringToByteArrayUnitTest.java
index 5377b4b28d..961c99bbde 100644
--- a/java-strings-ops/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java
+++ b/core-java-modules/core-java-string-conversions-2/src/test/java/com/baeldung/stringtobytearray/StringToByteArrayUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.string.conversion;
+package com.baeldung.stringtobytearray;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --git a/core-java-modules/core-java-string-conversions/README.md b/core-java-modules/core-java-string-conversions/README.md
new file mode 100644
index 0000000000..251851e8ac
--- /dev/null
+++ b/core-java-modules/core-java-string-conversions/README.md
@@ -0,0 +1,17 @@
+## Java String Conversions
+
+This module contains articles about string conversions from/to another type.
+
+### Relevant Articles:
+- [Converting String to Stream of chars](https://www.baeldung.com/java-string-to-stream)
+- [Converting Strings to Enums in Java](https://www.baeldung.com/java-string-to-enum)
+- [Convert a String to Title Case](https://www.baeldung.com/java-string-title-case)
+- [Convert java.util.Date to String](https://www.baeldung.com/java-util-date-to-string)
+- [Converting a Stack Trace to a String in Java](https://www.baeldung.com/java-stacktrace-to-string)
+- [Image to Base64 String Conversion](https://www.baeldung.com/java-base64-image-string)
+- [Convert a Comma Separated String to a List in Java](https://www.baeldung.com/java-string-with-separator-to-list)
+- [Converting Java String to Double](https://www.baeldung.com/java-string-to-double)
+- [Convert Char to String in Java](https://www.baeldung.com/java-convert-char-to-string)
+- [Convert String to int or Integer in Java](https://www.baeldung.com/java-convert-string-to-int-or-integer)
+- More articles: [[next -->]](/core-java-string-conversions-2)
+"Counting Words in a String
\ No newline at end of file
diff --git a/core-java-modules/core-java-string-conversions/pom.xml b/core-java-modules/core-java-string-conversions/pom.xml
new file mode 100644
index 0000000000..9c968b7f1c
--- /dev/null
+++ b/core-java-modules/core-java-string-conversions/pom.xml
@@ -0,0 +1,67 @@
+
+ 4.0.0
+ core-java-string-conversions
+ 0.1.0-SNAPSHOT
+ jar
+ core-java-string-conversions
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../../parent-java
+
+
+
+
+ com.ibm.icu
+ icu4j
+ ${icu4j.version}
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+ org.hamcrest
+ hamcrest-library
+ ${org.hamcrest.version}
+ test
+
+
+
+
+ core-java-string-conversions
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ 61.1
+ 3.6.1
+
+
+
diff --git a/java-strings/src/main/java/com/baeldung/enums/PizzaStatusEnum.java b/core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/stringtoenum/PizzaStatusEnum.java
similarity index 95%
rename from java-strings/src/main/java/com/baeldung/enums/PizzaStatusEnum.java
rename to core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/stringtoenum/PizzaStatusEnum.java
index a84829c38d..02646ef997 100644
--- a/java-strings/src/main/java/com/baeldung/enums/PizzaStatusEnum.java
+++ b/core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/stringtoenum/PizzaStatusEnum.java
@@ -1,4 +1,4 @@
-package com.baeldung.enums;
+package com.baeldung.stringtoenum;
public enum PizzaStatusEnum {
ORDERED(5) {
diff --git a/java-strings/src/main/java/com/baeldung/string/TitleCaseConverter.java b/core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/titlecase/TitleCaseConverter.java
similarity index 98%
rename from java-strings/src/main/java/com/baeldung/string/TitleCaseConverter.java
rename to core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/titlecase/TitleCaseConverter.java
index 81043f6dac..1c35e1a2d6 100644
--- a/java-strings/src/main/java/com/baeldung/string/TitleCaseConverter.java
+++ b/core-java-modules/core-java-string-conversions/src/main/java/com/baeldung/titlecase/TitleCaseConverter.java
@@ -1,12 +1,11 @@
-package com.baeldung.string;
-
-import java.util.Arrays;
-import java.util.stream.Collectors;
-
-import org.apache.commons.lang3.text.WordUtils;
+package com.baeldung.titlecase;
import com.ibm.icu.lang.UCharacter;
import com.ibm.icu.text.BreakIterator;
+import org.apache.commons.lang3.text.WordUtils;
+
+import java.util.Arrays;
+import java.util.stream.Collectors;
public class TitleCaseConverter {
diff --git a/java-strings-ops/src/test/java/com/baeldung/CharToStringUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/chartostring/CharToStringUnitTest.java
similarity index 97%
rename from java-strings-ops/src/test/java/com/baeldung/CharToStringUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/chartostring/CharToStringUnitTest.java
index 78742e356d..db7c8a16ec 100644
--- a/java-strings-ops/src/test/java/com/baeldung/CharToStringUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/chartostring/CharToStringUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung;
+package com.baeldung.chartostring;
import org.junit.Test;
diff --git a/java-strings-2/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/datetostring/DateToStringFormatterUnitTest.java
similarity index 98%
rename from java-strings-2/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/datetostring/DateToStringFormatterUnitTest.java
index d760510c73..221900fb0e 100644
--- a/java-strings-2/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/datetostring/DateToStringFormatterUnitTest.java
@@ -1,6 +1,7 @@
-package com.baeldung.string.formatter;
+package com.baeldung.datetostring;
-import static org.junit.Assert.assertEquals;
+import org.junit.BeforeClass;
+import org.junit.Test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -13,8 +14,7 @@ import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
public class DateToStringFormatterUnitTest {
diff --git a/java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/filetobase64conversion/FileToBase64StringConversionUnitTest.java
similarity index 96%
rename from java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/filetobase64conversion/FileToBase64StringConversionUnitTest.java
index eef21a98c9..9b165069d6 100644
--- a/java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/filetobase64conversion/FileToBase64StringConversionUnitTest.java
@@ -1,13 +1,13 @@
-package com.baeldung.fileToBase64StringConversion;
+package com.baeldung.filetobase64conversion;
-import static org.junit.Assert.assertTrue;
+import org.apache.commons.io.FileUtils;
+import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.util.Base64;
-import org.apache.commons.io.FileUtils;
-import org.junit.Test;
+import static org.junit.Assert.assertTrue;
public class FileToBase64StringConversionUnitTest {
diff --git a/java-strings-3/src/test/java/com/baeldung/string/todouble/StringToDoubleConversionUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtodouble/StringToDoubleConversionUnitTest.java
similarity index 97%
rename from java-strings-3/src/test/java/com/baeldung/string/todouble/StringToDoubleConversionUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtodouble/StringToDoubleConversionUnitTest.java
index 2c87af53f8..e29b55d52a 100644
--- a/java-strings-3/src/test/java/com/baeldung/string/todouble/StringToDoubleConversionUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtodouble/StringToDoubleConversionUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.string.todouble;
+package com.baeldung.stringtodouble;
import static org.junit.Assert.assertEquals;
diff --git a/java-strings/src/test/java/com/baeldung/enums/PizzaUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoenum/StringToEnumUnitTest.java
similarity index 92%
rename from java-strings/src/test/java/com/baeldung/enums/PizzaUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoenum/StringToEnumUnitTest.java
index 3e52a89bad..f6b3bf2aa6 100644
--- a/java-strings/src/test/java/com/baeldung/enums/PizzaUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoenum/StringToEnumUnitTest.java
@@ -1,10 +1,10 @@
-package com.baeldung.enums;
+package com.baeldung.stringtoenum;
import static junit.framework.TestCase.assertTrue;
import org.junit.Test;
-public class PizzaUnitTest {
+public class StringToEnumUnitTest {
@Test
public void whenConvertedIntoEnum_thenGetsConvertedCorrectly() {
diff --git a/java-strings/src/test/java/com/baeldung/StringToIntOrIntegerUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoint/StringToIntOrIntegerUnitTest.java
similarity index 97%
rename from java-strings/src/test/java/com/baeldung/StringToIntOrIntegerUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoint/StringToIntOrIntegerUnitTest.java
index a7ad0bf114..106f1fc974 100644
--- a/java-strings/src/test/java/com/baeldung/StringToIntOrIntegerUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtoint/StringToIntOrIntegerUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung;
+package com.baeldung.stringtoint;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/java-strings-2/src/test/java/com/baeldung/ConvertStringToListUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtolist/ConvertStringToListUnitTest.java
similarity index 96%
rename from java-strings-2/src/test/java/com/baeldung/ConvertStringToListUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtolist/ConvertStringToListUnitTest.java
index 47357a99cc..b9e0cede31 100644
--- a/java-strings-2/src/test/java/com/baeldung/ConvertStringToListUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtolist/ConvertStringToListUnitTest.java
@@ -1,135 +1,134 @@
-package com.baeldung;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import org.apache.commons.lang3.StringUtils;
-import org.junit.Test;
-
-import com.google.common.base.Function;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Lists;
-
-public class ConvertStringToListUnitTest {
-
- private final String countries = "Russia,Germany,England,France,Italy";
- private final String ranks = "1,2,3,4,5, 6,7";
- private final String emptyStrings = ",,,,,";
- private final List expectedCountriesList = Arrays.asList("Russia", "Germany", "England", "France", "Italy");
- private final List expectedRanksList = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
- private final List expectedEmptyStringsList = Arrays.asList("", "", "", "", "", "");
-
- @Test
- public void givenString_thenGetListOfStringByJava() {
- List convertedCountriesList = Arrays.asList(countries.split(",", -1));
-
- assertEquals(expectedCountriesList, convertedCountriesList);
- }
-
- @Test
- public void givenString_thenGetListOfStringByApache() {
- List convertedCountriesList = Arrays.asList(StringUtils.splitPreserveAllTokens(countries, ","));
-
- assertEquals(expectedCountriesList, convertedCountriesList);
- }
-
- @Test
- public void givenString_thenGetListOfStringByGuava() {
- List convertedCountriesList = Splitter.on(",")
- .trimResults()
- .splitToList(countries);
-
- assertEquals(expectedCountriesList, convertedCountriesList);
- }
-
- @Test
- public void givenString_thenGetListOfStringByJava8() {
- List convertedCountriesList = Stream.of(countries.split(",", -1))
- .collect(Collectors.toList());
-
- assertEquals(expectedCountriesList, convertedCountriesList);
- }
-
- @Test
- public void givenString_thenGetListOfIntegerByJava() {
- String[] convertedRankArray = ranks.split(",");
- List convertedRankList = new ArrayList();
- for (String number : convertedRankArray) {
- convertedRankList.add(Integer.parseInt(number.trim()));
- }
-
- assertEquals(expectedRanksList, convertedRankList);
- }
-
- @Test
- public void givenString_thenGetListOfIntegerByGuava() {
- List convertedRankList = Lists.transform(Splitter.on(",")
- .trimResults()
- .splitToList(ranks), new Function() {
- @Override
- public Integer apply(String input) {
- return Integer.parseInt(input.trim());
- }
- });
-
- assertEquals(expectedRanksList, convertedRankList);
- }
-
- @Test
- public void givenString_thenGetListOfIntegerByJava8() {
- List convertedRankList = Stream.of(ranks.split(","))
- .map(String::trim)
- .map(Integer::parseInt)
- .collect(Collectors.toList());
-
- assertEquals(expectedRanksList, convertedRankList);
- }
-
- @Test
- public void givenString_thenGetListOfIntegerByApache() {
- String[] convertedRankArray = StringUtils.split(ranks, ",");
- List convertedRankList = new ArrayList();
- for (String number : convertedRankArray) {
- convertedRankList.add(Integer.parseInt(number.trim()));
- }
-
- assertEquals(expectedRanksList, convertedRankList);
- }
-
- @Test
- public void givenEmptyStrings_thenGetListOfStringByJava() {
- List convertedEmptyStringsList = Arrays.asList(emptyStrings.split(",", -1));
-
- assertEquals(expectedEmptyStringsList, convertedEmptyStringsList);
- }
-
- @Test
- public void givenEmptyStrings_thenGetListOfStringByApache() {
- List convertedEmptyStringsList = Arrays.asList(StringUtils.splitPreserveAllTokens(emptyStrings, ","));
-
- assertEquals(expectedEmptyStringsList, convertedEmptyStringsList);
- }
-
- @Test
- public void givenEmptyStrings_thenGetListOfStringByGuava() {
- List convertedEmptyStringsList = Splitter.on(",")
- .trimResults()
- .splitToList(emptyStrings);
-
- assertEquals(expectedEmptyStringsList, convertedEmptyStringsList);
- }
-
- @Test
- public void givenEmptyStrings_thenGetListOfStringByJava8() {
- List convertedEmptyStringsList = Stream.of(emptyStrings.split(",", -1))
- .collect(Collectors.toList());
-
- assertEquals(expectedEmptyStringsList, convertedEmptyStringsList);
- }
-
-}
+package com.baeldung.stringtolist;
+
+import com.google.common.base.Function;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
+import org.apache.commons.lang3.StringUtils;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.junit.Assert.assertEquals;
+
+public class ConvertStringToListUnitTest {
+
+ private final String countries = "Russia,Germany,England,France,Italy";
+ private final String ranks = "1,2,3,4,5, 6,7";
+ private final String emptyStrings = ",,,,,";
+ private final List expectedCountriesList = Arrays.asList("Russia", "Germany", "England", "France", "Italy");
+ private final List expectedRanksList = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
+ private final List expectedEmptyStringsList = Arrays.asList("", "", "", "", "", "");
+
+ @Test
+ public void givenString_thenGetListOfStringByJava() {
+ List convertedCountriesList = Arrays.asList(countries.split(",", -1));
+
+ assertEquals(expectedCountriesList, convertedCountriesList);
+ }
+
+ @Test
+ public void givenString_thenGetListOfStringByApache() {
+ List convertedCountriesList = Arrays.asList(StringUtils.splitPreserveAllTokens(countries, ","));
+
+ assertEquals(expectedCountriesList, convertedCountriesList);
+ }
+
+ @Test
+ public void givenString_thenGetListOfStringByGuava() {
+ List convertedCountriesList = Splitter.on(",")
+ .trimResults()
+ .splitToList(countries);
+
+ assertEquals(expectedCountriesList, convertedCountriesList);
+ }
+
+ @Test
+ public void givenString_thenGetListOfStringByJava8() {
+ List convertedCountriesList = Stream.of(countries.split(",", -1))
+ .collect(Collectors.toList());
+
+ assertEquals(expectedCountriesList, convertedCountriesList);
+ }
+
+ @Test
+ public void givenString_thenGetListOfIntegerByJava() {
+ String[] convertedRankArray = ranks.split(",");
+ List convertedRankList = new ArrayList();
+ for (String number : convertedRankArray) {
+ convertedRankList.add(Integer.parseInt(number.trim()));
+ }
+
+ assertEquals(expectedRanksList, convertedRankList);
+ }
+
+ @Test
+ public void givenString_thenGetListOfIntegerByGuava() {
+ List convertedRankList = Lists.transform(Splitter.on(",")
+ .trimResults()
+ .splitToList(ranks), new Function() {
+ @Override
+ public Integer apply(String input) {
+ return Integer.parseInt(input.trim());
+ }
+ });
+
+ assertEquals(expectedRanksList, convertedRankList);
+ }
+
+ @Test
+ public void givenString_thenGetListOfIntegerByJava8() {
+ List convertedRankList = Stream.of(ranks.split(","))
+ .map(String::trim)
+ .map(Integer::parseInt)
+ .collect(Collectors.toList());
+
+ assertEquals(expectedRanksList, convertedRankList);
+ }
+
+ @Test
+ public void givenString_thenGetListOfIntegerByApache() {
+ String[] convertedRankArray = StringUtils.split(ranks, ",");
+ List convertedRankList = new ArrayList();
+ for (String number : convertedRankArray) {
+ convertedRankList.add(Integer.parseInt(number.trim()));
+ }
+
+ assertEquals(expectedRanksList, convertedRankList);
+ }
+
+ @Test
+ public void givenEmptyStrings_thenGetListOfStringByJava() {
+ List convertedEmptyStringsList = Arrays.asList(emptyStrings.split(",", -1));
+
+ assertEquals(expectedEmptyStringsList, convertedEmptyStringsList);
+ }
+
+ @Test
+ public void givenEmptyStrings_thenGetListOfStringByApache() {
+ List convertedEmptyStringsList = Arrays.asList(StringUtils.splitPreserveAllTokens(emptyStrings, ","));
+
+ assertEquals(expectedEmptyStringsList, convertedEmptyStringsList);
+ }
+
+ @Test
+ public void givenEmptyStrings_thenGetListOfStringByGuava() {
+ List convertedEmptyStringsList = Splitter.on(",")
+ .trimResults()
+ .splitToList(emptyStrings);
+
+ assertEquals(expectedEmptyStringsList, convertedEmptyStringsList);
+ }
+
+ @Test
+ public void givenEmptyStrings_thenGetListOfStringByJava8() {
+ List convertedEmptyStringsList = Stream.of(emptyStrings.split(",", -1))
+ .collect(Collectors.toList());
+
+ assertEquals(expectedEmptyStringsList, convertedEmptyStringsList);
+ }
+
+}
diff --git a/java-strings/src/test/java/com/baeldung/string/StringToCharStreamUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtostream/StringToCharStreamUnitTest.java
similarity index 98%
rename from java-strings/src/test/java/com/baeldung/string/StringToCharStreamUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtostream/StringToCharStreamUnitTest.java
index 1b02e5d291..cd5727dcf8 100644
--- a/java-strings/src/test/java/com/baeldung/string/StringToCharStreamUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/stringtostream/StringToCharStreamUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.string;
+package com.baeldung.stringtostream;
import org.junit.Test;
diff --git a/java-strings/src/test/java/com/baeldung/string/TitleCaseConverterUnitTest.java b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/titlecase/TitleCaseConverterUnitTest.java
similarity index 99%
rename from java-strings/src/test/java/com/baeldung/string/TitleCaseConverterUnitTest.java
rename to core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/titlecase/TitleCaseConverterUnitTest.java
index 2272565cd3..73694d2c1c 100644
--- a/java-strings/src/test/java/com/baeldung/string/TitleCaseConverterUnitTest.java
+++ b/core-java-modules/core-java-string-conversions/src/test/java/com/baeldung/titlecase/TitleCaseConverterUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.string;
+package com.baeldung.titlecase;
import org.junit.Assert;
import org.junit.Test;
diff --git a/java-strings-2/src/test/resources/test_image.jpg b/core-java-modules/core-java-string-conversions/src/test/resources/test_image.jpg
similarity index 100%
rename from java-strings-2/src/test/resources/test_image.jpg
rename to core-java-modules/core-java-string-conversions/src/test/resources/test_image.jpg
diff --git a/java-strings-2/README.md b/java-strings-2/README.md
index 82f33997c5..9865019f74 100644
--- a/java-strings-2/README.md
+++ b/java-strings-2/README.md
@@ -8,14 +8,12 @@ This module contains articles about strings in Java.
- [Check If a String Contains a Substring](https://www.baeldung.com/java-string-contains-substring)
- [Removing Stopwords from a String in Java](https://www.baeldung.com/java-string-remove-stopwords)
- [Java – Generate Random String](https://www.baeldung.com/java-random-string)
-- [Image to Base64 String Conversion](https://www.baeldung.com/java-base64-image-string)
- [Java Base64 Encoding and Decoding](https://www.baeldung.com/java-base64-encode-and-decode)
- [Generate a Secure Random Password in Java](https://www.baeldung.com/java-generate-secure-password)
- [Removing Repeated Characters from a String](https://www.baeldung.com/java-remove-repeated-char)
- [Join Array of Primitives with Separator in Java](https://www.baeldung.com/java-join-primitive-array)
- [Pad a String with Zeros or Spaces in Java](https://www.baeldung.com/java-pad-string)
- [Remove Emojis from a Java String](https://www.baeldung.com/java-string-remove-emojis)
-- [Convert a Comma Separated String to a List in Java](https://www.baeldung.com/java-string-with-separator-to-list)
- [Guide to java.util.Formatter](https://www.baeldung.com/java-string-formatter)
- [Remove Leading and Trailing Characters from a String](https://www.baeldung.com/java-remove-trailing-characters)
- [Concatenating Strings In Java](https://www.baeldung.com/java-strings-concatenation)
diff --git a/java-strings-3/README.md b/java-strings-3/README.md
index f0aaddefcb..6276dfc621 100644
--- a/java-strings-3/README.md
+++ b/java-strings-3/README.md
@@ -3,6 +3,7 @@
This module contains articles about strings in Java.
### Relevant Articles:
-
-- [Converting Java String to Double](https://www.baeldung.com/java-string-to-double)
+- [Java String equalsIgnoreCase()](https://www.baeldung.com/java-string-equalsignorecase)
+- [Finding the Difference Between Two Strings](https://www.baeldung.com/java-difference-between-two-strings)
+- [Counting Words in a String](https://www.baeldung.com/java-word-counting)
- More articles: [[<-- prev>]](/java-strings-2)
diff --git a/java-strings-ops/README.md b/java-strings-ops/README.md
index 31c5f48022..3b00cd11ed 100644
--- a/java-strings-ops/README.md
+++ b/java-strings-ops/README.md
@@ -3,10 +3,7 @@
This module contains articles about operations on strings in Java.
### Relevant Articles:
-- [Convert char to String in Java](https://www.baeldung.com/java-convert-char-to-string)
-- [Convert String to int or Integer in Java](https://www.baeldung.com/java-convert-string-to-int-or-integer)
-- [Java String Conversions](https://www.baeldung.com/java-string-conversions)
-- [Check if a String is a Palindrome](https://www.baeldung.com/java-palindrome)
+- [Check If a String Is a Palindrome](https://www.baeldung.com/java-palindrome)
- [Comparing Strings in Java](https://www.baeldung.com/java-compare-strings)
- [Check If a String Is Numeric in Java](https://www.baeldung.com/java-check-string-number)
- [Get Substring from String in Java](https://www.baeldung.com/java-substring)
@@ -16,7 +13,6 @@ This module contains articles about operations on strings in Java.
- [Guide to Java String Pool](https://www.baeldung.com/java-string-pool)
- [Split a String in Java](https://www.baeldung.com/java-split-string)
- [Common String Operations in Java](https://www.baeldung.com/java-string-operations)
-- [Convert String to Byte Array and Reverse in Java](https://www.baeldung.com/java-string-to-byte-array)
- [Java toString() Method](https://www.baeldung.com/java-tostring)
- [CharSequence vs. String in Java](https://www.baeldung.com/java-char-sequence-string)
- [StringBuilder and StringBuffer in Java](https://www.baeldung.com/java-string-builder-string-buffer)
diff --git a/java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md b/java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md
deleted file mode 100644
index 7c81180249..0000000000
--- a/java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-Relevant Articles:
-- [Java String Conversions](http://www.baeldung.com/java-string-conversions)
diff --git a/java-strings/README.md b/java-strings/README.md
index 1faa11f606..3146b54fa8 100644
--- a/java-strings/README.md
+++ b/java-strings/README.md
@@ -4,21 +4,16 @@ This module contains articles about strings in Java.
### Relevant Articles:
- [String Operations with Java Streams](https://www.baeldung.com/java-stream-operations-on-strings)
-- [Converting String to Stream of chars](https://www.baeldung.com/java-string-to-stream)
- [Java 8 StringJoiner](https://www.baeldung.com/java-string-joiner)
-- [Converting Strings to Enums in Java](https://www.baeldung.com/java-string-to-enum)
- [Quick Guide to the Java StringTokenizer](https://www.baeldung.com/java-stringtokenizer)
- [Use char[] Array Over a String for Manipulating Passwords in Java?](https://www.baeldung.com/java-storing-passwords)
-- [Convert a String to Title Case](https://www.baeldung.com/java-string-title-case)
- [Compact Strings in Java 9](https://www.baeldung.com/java-9-compact-string)
- [Java Check a String for Lowercase/Uppercase Letter, Special Character and Digit](https://www.baeldung.com/java-lowercase-uppercase-special-character-digit-regex)
-- [Convert java.util.Date to String](https://www.baeldung.com/java-util-date-to-string)
-- [Converting a Stack Trace to a String in Java](https://www.baeldung.com/java-stacktrace-to-string)
- [Sorting a String Alphabetically in Java](https://www.baeldung.com/java-sort-string-alphabetically)
- [String Not Empty Test Assertions in Java](https://www.baeldung.com/java-assert-string-not-empty)
- [String Performance Hints](https://www.baeldung.com/java-string-performance)
- [Using indexOf to Find All Occurrences of a Word in a String](https://www.baeldung.com/java-indexOf-find-string-occurrences)
- [Adding a Newline Character to a String in Java](https://www.baeldung.com/java-string-newline)
-- [Remove or Replace part of a String in Java](https://www.baeldung.com/java-remove-replace-string-part)
+- [Remove or Replace Part of a String in Java](https://www.baeldung.com/java-remove-replace-string-part)
- [Replace a Character at a Specific Index in a String in Java](https://www.baeldung.com/java-replace-character-at-index)
- More articles: [[next -->]](/java-strings-2)
diff --git a/pom.xml b/pom.xml
index da8b391802..a00190c874 100644
--- a/pom.xml
+++ b/pom.xml
@@ -428,6 +428,8 @@
core-java-modules/core-java-perf
core-java-modules/core-java-reflection
core-java-modules/core-java-sun
+ core-java-modules/core-java-string-conversions
+ core-java-modules/core-java-string-conversions-2
core-java-modules/core-java
core-java-modules/core-java-jvm
core-scala
@@ -1189,6 +1191,8 @@
core-java-modules/core-java-networking
core-java-modules/core-java-perf
core-java-modules/core-java-sun
+ core-java-modules/core-java-string-conversions
+ core-java-modules/core-java-string-conversions-2
core-scala
couchbase
custom-pmd