Java.lang.Character.isHighSurrogate() Method



The java.lang.Character.isHighSurrogate(char ch) determines if the given char value is a Unicode high-surrogate code unit (also known as leading-surrogate code unit).

Such values do not represent characters by themselves, but are used in the representation of supplementary characters in the UTF-16 encoding.


Following is the declaration for java.lang.Character.isHighSurrogate() method

public static boolean isHighSurrogate(char ch)


ch − the char value to be tested

Return Value

This method returns true if the char value is between MIN_HIGH_SURROGATE and MAX_HIGH_SURROGATE inclusive, false otherwise.




The following example shows the usage of lang.Character.isHighSurrogate() method.

package com.tutorialspoint;

import java.lang.*;

public class CharacterDemo {

   public static void main(String[] args) {

      // create 2 char primitives ch1, ch2
      char ch1, ch2;

      // assign values to ch1, ch2
      ch1 = '\u0c7f';
      ch2 = '\ud8b5';

      // create 2 boolean primitives b1, b2
      boolean b1, b2;

      // assign isHighSurrogate results of ch1, ch2 to b1, b2
      b1 = Character.isHighSurrogate(ch1);
      b2 = Character.isHighSurrogate(ch2);

      String str1 = "ch1 is a Unicode high-surrogate code unit is " + b1;
      String str2 = "ch2 is a Unicode high-surrogate code unit is " + b2;

      // print b1, b2 values
      System.out.println( str1 );
      System.out.println( str2 );

Let us compile and run the above program, this will produce the following result −

ch1 is a Unicode high-surrogate code unit is false
ch2 is a Unicode high-surrogate code unit is true