Java StringBuilder subSequence() Method

The StringBuilder.subSequence() method in Java is used to obtain a subsequence of characters from a StringBuilder object. This guide will cover the method's usage, explain how it works, and provide examples to demonstrate its functionality. We will also cover a real-world use case to show how StringBuilder.subSequence() can be used effectively.

Table of Contents

  1. Introduction
  2. subSequence Method Syntax
  3. Examples
    • Extracting a Subsequence from a StringBuilder
    • Handling Index Out of Bounds
  4. Real-World Use Case
    • Example: Extracting a Substring for Display
  5. Conclusion

Introduction

The StringBuilder.subSequence() method is a member of the StringBuilder class in Java. It returns a CharSequence that is a subsequence of the characters in the StringBuilder. This method is useful for extracting a portion of the string without modifying the original StringBuilder.

subSequence Method Syntax

The syntax for the subSequence method is as follows:

public CharSequence subSequence(int start, int end)
  • Parameters:
    • start: The beginning index, inclusive.
    • end: The ending index, exclusive.
  • Returns: A CharSequence that is a subsequence of the characters from start to end - 1.

Examples

Extracting a Subsequence from a StringBuilder

The subSequence method can be used to extract a portion of the characters in a StringBuilder object.

Example

public class SubSequenceExample {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("Hello, world!");

        // Extracting a subsequence from index 7 to 12
        CharSequence subSequence = sb.subSequence(7, 12);

        // Printing the extracted subsequence
        System.out.println("Subsequence: " + subSequence);
    }
}

Output:

Subsequence: world

Handling Index Out of Bounds

If the specified indices are out of bounds (i.e., less than 0 or greater than the length of the StringBuilder), the subSequence method throws a StringIndexOutOfBoundsException.

Example

public class IndexOutOfBoundsExample {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("Hello, world!");

        try {
            // Attempting to extract a subsequence with invalid indices
            CharSequence subSequence = sb.subSequence(7, 20);
            System.out.println("Subsequence: " + subSequence);
        } catch (StringIndexOutOfBoundsException e) {
            System.out.println("Index is out of bounds: " + e.getMessage());
        }
    }
}

Output:

Index is out of bounds: start 7, end 20, length 13

Real-World Use Case

Example: Extracting a Substring for Display

A common real-world use case for StringBuilder.subSequence() is extracting a substring for display purposes, such as showing a snippet of text from a larger body of text.

Example

public class DisplaySnippetExample {
    public static void main(String[] args) {
        StringBuilder text = new StringBuilder("The quick brown fox jumps over the lazy dog.");

        // Extracting a snippet from the text
        int start = 10;
        int end = 19;
        CharSequence snippet = text.subSequence(start, end);

        // Printing the extracted snippet
        System.out.println("Snippet: " + snippet);
    }
}

Output:

Snippet: brown fox

In this example, StringBuilder.subSequence() is used to extract a snippet from the text, demonstrating how it can be useful for displaying parts of a larger string.

Conclusion

The StringBuilder.subSequence() method in Java provides a way to obtain a subsequence of characters from a StringBuilder object. By understanding how to use this method, you can efficiently extract portions of strings in your Java applications. The method allows you to work with subsequences without modifying the original StringBuilder, making it a versatile tool for various string manipulation tasks.

Comments