diff --git a/stringhold-common/src/main/java/com/kohlschutter/stringhold/StringHolder.java b/stringhold-common/src/main/java/com/kohlschutter/stringhold/StringHolder.java index 6cd9b18..587f39e 100644 --- a/stringhold-common/src/main/java/com/kohlschutter/stringhold/StringHolder.java +++ b/stringhold-common/src/main/java/com/kohlschutter/stringhold/StringHolder.java @@ -742,8 +742,18 @@ default int indexOf(int c) { } /** - * Returns the index within this StringHolder of the first occurrence of the specified - * CharSequence, or {@code -1} if not found. + * Checks if this {@link StringHolder} contains the given {@link CharSequence}. + * + * @param s The char sequence to look for. + * @return {@code true} if found (also if the sequence is empty). + */ + default boolean contains(CharSequence s) { + return indexOf(s.toString()) >= 0; + } + + /** + * Returns the index within this {@link StringHolder} of the first occurrence of the specified + * {@link CharSequence}, or {@code -1} if not found. * * @param str The char sequence to look for. * @return The position, or {@code -1} if not found. diff --git a/stringhold-common/src/test/java/com/kohlschutter/stringhold/StringHolderTest.java b/stringhold-common/src/test/java/com/kohlschutter/stringhold/StringHolderTest.java index 1e5c8ba..dab9eb8 100644 --- a/stringhold-common/src/test/java/com/kohlschutter/stringhold/StringHolderTest.java +++ b/stringhold-common/src/test/java/com/kohlschutter/stringhold/StringHolderTest.java @@ -1423,4 +1423,10 @@ public void testIndexOfSelf() throws Exception { sh = StringHolder.withSupplier(() -> ""); assertEquals(0, sh.indexOf(sh)); } + + @Test + public void testContains() throws Exception { + assertTrue(StringHolder.withContent("Foo bar").contains("bar")); + assertFalse(StringHolder.withContent("Foo bar").contains("baz")); + } }