What is the CharBuffer clear() method in Java?
The java.nio.CharBuffer is a class we can use to store a buffer of characters. We can use this class’s clear() method to clear a buffer. Clearing a buffer means that:
- We set the buffer position to
0. - We set the buffer
to the bufferlimit Limit of a buffer is its first index that should not be read or written. .capacity Capacity of a buffer the number of elements it contains. - We discard the mark. Marking a position means recording a position which can be restored by the
CharBuffer.reset()method. This marked position is discarded by theCharBuffer.reset()method.
The actual contents of the buffer are not erased by invoking the
clear()method.
Declaration
The CharBuffer.clear() method is declared as follows:
buff.clear()
buff: TheCharBufferto be cleared.
Return value
The CharBuffer.clear() method returns the CharBuffer buff after clearing it.
Code
Consider the code snippet below, which demonstrates the use of the CharBuffer.clear() method:
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 4;CharBuffer buff1 = CharBuffer.allocate(n1);buff1.put('a');buff1.put('f');buff1.limit(3);buff1.mark();System.out.println("buff1: " + Arrays.toString(buff1.array()));System.out.println("position at(before clear): " + buff1.position());System.out.println("Limit at(before clear): " + buff1.limit());buff1.mark();System.out.println("clear()");buff1.clear();System.out.println("position at(after rewind): " + buff1.position());System.out.println("Limit at(before clear): " + buff1.limit());}}
Explanation
- A
CharBufferbuff1is declared in line 7 with capacityn1 = 4. - Two elements are added to
buff1using theput()method in line 8-9 . After adding the first element, the position ofbuff1is incremented from 0 to 1. After adding the second element, the position ofbuff1is incremented from 1 to 2. - The position of
buff1before clearing is 2. After calling theclear()method in line 21, the position ofbuff1is set to 0. - The limit of
buff1is set to 3 using thelimit()method in line 11. The limit ofbuff1before clearing it is 3. After calling theclear()method in line 21, the limit ofbuff1is set to its capacity which is 4. - The position of
buff1is marked to 2 using themark()method in line 12. After calling theclear()method in line 21, the mark ofbuff1is discarded and the position is set to 0.
Free Resources
Copyright ©2025 Educative, Inc. All rights reserved