java.nio.CharBuffer
is a class that we can use to store a buffer of characters. The compareTo()
method of the class java.nio.CharBuffer
compares two buffers. Two buffers are compared by comparing their sequence of remaining elements lexicographically, without regard to the starting point of the buffers.
Note:
- Two characters are compared the same way as the
Char.compare()
method. The only difference is that unlikeChar.compare()
, -0 and +0 are considered equal by theCompareBuffer.compareTo()
method.
The CharBuffer.compareTo()
method can be declared as:
buff1.compareTo(buff2);
buff1
: The first buffer, to be compared to buff2
.buff2
: The second buffer, to be compared to buff1
.The CharBuffer.compareTo()
method returns an integer
such that:
buff1
is greater than buff2
.buff1
is equal to buff2
.buff1
is less than buff2
.Consider the code snippet below, which demonstrates the use of the CharBuffer.compareTo()
method.
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 5;int n2 = 4;try {CharBuffer buff1 = CharBuffer.allocate(n1);buff1.put('a');buff1.put('c');System.out.println("buff1: " + Arrays.toString(buff1.array()));CharBuffer buff2 = CharBuffer.allocate(n2);buff2.put('a');buff2.put('c');System.out.println("buff2: " + Arrays.toString(buff2.array()));int foo = buff1.compareTo(buff2);System.out.println("\nbuff1 compareTo to buff2: " + foo);} catch (IllegalArgumentException e) {System.out.println("Error!!! IllegalArgumentException");} catch (ReadOnlyBufferException e) {System.out.println("Error!!! ReadOnlyBufferException");}}}
CharBuffer
buff1
is declared in line 8. Two characters are written to buff1
in lines 9-10.CharBuffer
buff2
is declared in line 13. Two characters are written to buff2
in lines 14-15.CharBuffer.compareTo()
method is used in line 18 to see if buff1
and buff2
are equal. The CharBuffer.compareTo()
method returns a positive integer
, which means that buff1
is greater than buff2
.Consider the code snippet below, which compares two equal buffers.
import java.nio.*;import java.util.*;public class main {public static void main(String[] args) {int n1 = 4;int n2 = 4;try {CharBuffer buff1 = CharBuffer.allocate(n1);buff1.put('a');buff1.put('c');System.out.println("buff1: " + Arrays.toString(buff1.array()));CharBuffer buff2 = CharBuffer.allocate(n2);buff2.put('b');buff2.put('c');System.out.println("buff2: " + Arrays.toString(buff2.array()));int foo = buff1.compareTo(buff2);System.out.println("\nbuff1 compareTo to buff2: " + foo);} catch (IllegalArgumentException e) {System.out.println("Error!!! IllegalArgumentException");} catch (ReadOnlyBufferException e) {System.out.println("Error!!! ReadOnlyBufferException");}}}
CharBuffer
buff1
is declared in line 8. Two characters are written to buff1
in lines 9-10.CharBuffer
buff2
is declared in line 13. Two characters are written to buff2
in lines 14-15.CharBuffer.compareTo()
method is used in line 18 to see if buff1
and buff2
are equal. The CharBuffer.compareTo()
method returns a positive integer
, which means that buff1
is equal to buff2
.Free Resources