diff --git a/src/main/java/strman/Strman.java b/src/main/java/strman/Strman.java index bc9b772..1e11f90 100644 --- a/src/main/java/strman/Strman.java +++ b/src/main/java/strman/Strman.java @@ -774,6 +774,17 @@ public abstract class Strman { return value.toLowerCase().replace(search.toLowerCase(), newValue); } + /** + * Reverse the input String + * + * @param value The input String + * @return Reversed String + */ + public static String reverse(final String value) { + validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER); + return new StringBuilder(value).reverse().toString(); + } + public static String decode(final String value, final int digits, final int radix) { validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER); return Arrays diff --git a/src/test/java/strman/StrmanTest.java b/src/test/java/strman/StrmanTest.java index 1d425b0..9b2b9c8 100644 --- a/src/test/java/strman/StrmanTest.java +++ b/src/test/java/strman/StrmanTest.java @@ -592,4 +592,14 @@ public class StrmanTest { assertThat(replace("FOO bar", "foo", "bar", false), equalTo("bar bar")); assertThat(replace("FOO bar foo", "foo", "bar", false), equalTo("bar bar bar")); } + + @Test + public void reverse_shouldReverseInputString() throws Exception { + assertThat(reverse(""), equalTo("")); + assertThat(reverse("foo"), equalTo("oof")); + assertThat(reverse("shekhar"), equalTo("rahkehs")); + assertThat(reverse("bar"), equalTo("rab")); + assertThat(reverse("foo_"), equalTo("_oof")); + assertThat(reverse("f"), equalTo("f")); + } } \ No newline at end of file