String Functions in Java

The standard library’s String class provides many useful string-related methods. Here are some examples to give you a sense of the available functionality.

import java.util.Arrays;

public class StringFunctions {
    // We create a shorthand for System.out.println as we'll use it a lot below.
    private static void p(Object o) {
        System.out.println(o);
    }

    public static void main(String[] args) {
        // Here's a sample of the methods available in the String class.
        // Since these are methods on the String object itself,
        // we call them directly on the string in question.
        // You can find more methods in the String class documentation.

        p("Contains:  " + "test".contains("es"));
        p("Count:     " + countOccurrences("test", 't'));
        p("StartsWith: " + "test".startsWith("te"));
        p("EndsWith: " + "test".endsWith("st"));
        p("IndexOf:   " + "test".indexOf("e"));
        p("Join:      " + String.join("-", "a", "b"));
        p("Repeat:    " + "a".repeat(5));
        p("Replace:   " + "foo".replace("o", "0"));
        p("Replace:   " + "foo".replaceFirst("o", "0"));
        p("Split:     " + Arrays.toString("a-b-c-d-e".split("-")));
        p("ToLower:   " + "TEST".toLowerCase());
        p("ToUpper:   " + "test".toUpperCase());
    }

    // Java doesn't have a built-in count method, so we implement our own
    private static int countOccurrences(String str, char ch) {
        return (int) str.chars().filter(c -> c == ch).count();
    }
}

When you run this program, you’ll see:

$ javac StringFunctions.java
$ java StringFunctions
Contains:  true
Count:     2
StartsWith: true
EndsWith: true
IndexOf:   1
Join:      a-b
Repeat:    aaaaa
Replace:   f00
Replace:   f0o
Split:     [a, b, c, d, e]
ToLower:   test
ToUpper:   TEST

This example demonstrates various string manipulation methods available in Java. Note that while the functionality is similar to the original example, the syntax and some method names are different, reflecting Java’s conventions and built-in capabilities.

For instance, Java’s String class doesn’t have a direct equivalent to Go’s strings.Count(), so we implemented a custom method. Also, methods like HasPrefix and HasSuffix in Go are called startsWith and endsWith in Java.

Remember to refer to the official Java documentation for a complete list of available string methods and their usage.