Java StringBuffer codePoints() Method

The StringBuffer.codePoints() method in Java is used to return an IntStream of the Unicode code points in the StringBuffer. This guide will cover the method's usage, explain how it works, and provide examples to demonstrate its functionality.

Table of Contents

  1. Introduction
  2. codePoints Method Syntax
  3. Examples
    • Iterating Over Code Points
    • Filtering Code Points
    • Converting to a List
  4. Conclusion

Introduction

The codePoints() method is a member of the StringBuffer class in Java. It allows you to create a stream of the Unicode code points in the StringBuffer, which can be used for various operations such as filtering, mapping, and collecting. This method is part of the java.util.stream package, introduced in Java 8, which provides a powerful way to work with sequences of elements.

codePoints Method Syntax

The syntax for the codePoints method is as follows:

public IntStream codePoints()

This method returns an IntStream representing the sequence of Unicode code points in the StringBuffer.

Examples

Iterating Over Code Points

The codePoints method can be used to iterate over the Unicode code points in a StringBuffer.

Example

import java.util.stream.IntStream;

public class StringBufferCodePointsExample {
    public static void main(String[] args) {
        // Create a StringBuffer object with initial content
        StringBuffer sb = new StringBuffer("Hello, World!");

        // Get the IntStream of Unicode code points
        IntStream codePointStream = sb.codePoints();

        // Print each code point
        codePointStream.forEach(cp -> System.out.print((char) cp));
    }
}

Output:

Hello, World!

Filtering Code Points

You can use the codePoints method to filter specific Unicode code points from the StringBuffer.

Example

import java.util.stream.IntStream;

public class StringBufferCodePointsExample {
    public static void main(String[] args) {
        // Create a StringBuffer object with initial content
        StringBuffer sb = new StringBuffer("Hello, World!");

        // Get the IntStream of Unicode code points and filter out non-alphabetic characters
        IntStream codePointStream = sb.codePoints().filter(cp -> Character.isLetter(cp));

        // Print each filtered code point
        codePointStream.forEach(cp -> System.out.print((char) cp));
    }
}

Output:

HelloWorld

Converting to a List

The codePoints method can be used to collect Unicode code points into a list.

Example

import java.util.List;
import java.util.stream.Collectors;

public class StringBufferCodePointsExample {
    public static void main(String[] args) {
        // Create a StringBuffer object with initial content
        StringBuffer sb = new StringBuffer("Hello, World!");

        // Get the IntStream of Unicode code points and collect them into a List
        List<Integer> codePointList = sb.codePoints()
                                        .boxed()
                                        .collect(Collectors.toList());

        // Print the list of Unicode code points
        System.out.println(codePointList);
    }
}

Output:

[72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33]

Conclusion

The StringBuffer.codePoints() method in Java provides a convenient way to work with the Unicode code points in a StringBuffer as a stream. By understanding how to use this method, you can easily perform operations such as iteration, filtering, and collecting on the Unicode code points in a StringBuffer. This method enhances the flexibility and power of string manipulation by leveraging the capabilities of the Java Streams API.

Comments