added examples about how to reverse a string in java (#7219)
This commit is contained in:
parent
1318804764
commit
c79bc22668
|
@ -0,0 +1,56 @@
|
||||||
|
package com.baeldung.string.reverse;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
public class ReverseStringExamples {
|
||||||
|
|
||||||
|
public static String reverse(String input) {
|
||||||
|
if (input == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
String output = "";
|
||||||
|
|
||||||
|
for (int i = input.length() - 1; i >= 0; i--) {
|
||||||
|
output = output + input.charAt(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String reverseUsingStringBuilder(String input) {
|
||||||
|
if (input == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder output = new StringBuilder(input).reverse();
|
||||||
|
|
||||||
|
return output.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String reverseUsingApacheCommons(String input) {
|
||||||
|
return StringUtils.reverse(input);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String reverseTheOrderOfWords(String sentence) {
|
||||||
|
if (sentence == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder output = new StringBuilder();
|
||||||
|
String[] words = sentence.split(" ");
|
||||||
|
|
||||||
|
for (int i = words.length - 1; i >= 0; i--) {
|
||||||
|
output.append(words[i]);
|
||||||
|
output.append(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
return output.toString()
|
||||||
|
.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String reverseTheOrderOfWordsUsingApacheCommons(String sentence) {
|
||||||
|
return StringUtils.reverseDelimited(sentence, ' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,70 @@
|
||||||
|
package com.baeldung.string.reverse;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
public class ReverseStringExamplesUnitTest {
|
||||||
|
|
||||||
|
private static final String STRING_INPUT = "cat";
|
||||||
|
private static final String STRING_INPUT_REVERSED = "tac";
|
||||||
|
private static final String SENTENCE = "The quick brown fox jumps over the lazy dog";
|
||||||
|
private static final String REVERSED_WORDS_SENTENCE = "dog lazy the over jumps fox brown quick The";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenReverseIsCalled_ThenCorrectStringIsReturned() {
|
||||||
|
String reversed = ReverseStringExamples.reverse(STRING_INPUT);
|
||||||
|
String reversedNull = ReverseStringExamples.reverse(null);
|
||||||
|
String reversedEmpty = ReverseStringExamples.reverse(StringUtils.EMPTY);
|
||||||
|
|
||||||
|
assertEquals(STRING_INPUT_REVERSED, reversed);
|
||||||
|
assertEquals(null, reversedNull);
|
||||||
|
assertEquals(StringUtils.EMPTY, reversedEmpty);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenReverseUsingStringBuilderIsCalled_ThenCorrectStringIsReturned() throws Exception {
|
||||||
|
String reversed = ReverseStringExamples.reverseUsingStringBuilder(STRING_INPUT);
|
||||||
|
String reversedNull = ReverseStringExamples.reverseUsingStringBuilder(null);
|
||||||
|
String reversedEmpty = ReverseStringExamples.reverseUsingStringBuilder(StringUtils.EMPTY);
|
||||||
|
|
||||||
|
assertEquals(STRING_INPUT_REVERSED, reversed);
|
||||||
|
assertEquals(null, reversedNull);
|
||||||
|
assertEquals(StringUtils.EMPTY, reversedEmpty);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenReverseUsingApacheCommonsIsCalled_ThenCorrectStringIsReturned() throws Exception {
|
||||||
|
String reversed = ReverseStringExamples.reverseUsingApacheCommons(STRING_INPUT);
|
||||||
|
String reversedNull = ReverseStringExamples.reverseUsingApacheCommons(null);
|
||||||
|
String reversedEmpty = ReverseStringExamples.reverseUsingApacheCommons(StringUtils.EMPTY);
|
||||||
|
|
||||||
|
assertEquals(STRING_INPUT_REVERSED, reversed);
|
||||||
|
assertEquals(null, reversedNull);
|
||||||
|
assertEquals(StringUtils.EMPTY, reversedEmpty);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenReverseTheOrderOfWordsIsCalled_ThenCorrectStringIsReturned() {
|
||||||
|
String reversed = ReverseStringExamples.reverseTheOrderOfWords(SENTENCE);
|
||||||
|
String reversedNull = ReverseStringExamples.reverseTheOrderOfWords(null);
|
||||||
|
String reversedEmpty = ReverseStringExamples.reverseTheOrderOfWords(StringUtils.EMPTY);
|
||||||
|
|
||||||
|
assertEquals(REVERSED_WORDS_SENTENCE, reversed);
|
||||||
|
assertEquals(null, reversedNull);
|
||||||
|
assertEquals(StringUtils.EMPTY, reversedEmpty);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenReverseTheOrderOfWordsUsingApacheCommonsIsCalled_ThenCorrectStringIsReturned() {
|
||||||
|
String reversed = ReverseStringExamples.reverseTheOrderOfWordsUsingApacheCommons(SENTENCE);
|
||||||
|
String reversedNull = ReverseStringExamples.reverseTheOrderOfWordsUsingApacheCommons(null);
|
||||||
|
String reversedEmpty = ReverseStringExamples.reverseTheOrderOfWordsUsingApacheCommons(StringUtils.EMPTY);
|
||||||
|
|
||||||
|
assertEquals(REVERSED_WORDS_SENTENCE, reversed);
|
||||||
|
assertEquals(null, reversedNull);
|
||||||
|
assertEquals(StringUtils.EMPTY, reversedEmpty);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue