Java Character.isSurrogate()方法

原文:https://www.studytonight.com/java-wrapper-class/java-character-issurrogate-method

Java isSurrogate() 法是Character类的一部分。此方法用于检查指定的字符是否是指定的 Unicode 代理代码单元。

必须注意,当且仅当字符值是低代理代码单元或高代理代码单元时,它才是代理代码单元。这些值本身并不表示字符,而是用于表示 UTF-16 编码中的补充字符。

语法:

public static boolean isSurrogate(char ch)

参数:

传递的参数是要检查是否是代理代码单元的字符。

返回:

如果指定的字符是替代代码单元,则返回布尔值true,否则返回false

例 1:

这里,检查字符是否是代理代码单元。

public class StudyTonight
{  
    public static void main(String[] args)
    {  
        char ch1 = '\udd10';  
        char ch2 = 'c';  
        char ch3 = '8';  
        char ch4  = '\uf000';   
        char ch5  = '%';  

        boolean b1 = Character.isSurrogate(ch1);  
        boolean b2 = Character.isSurrogate(ch2);  
        boolean b3 = Character.isSurrogate(ch3);  
        boolean b4 = Character.isSurrogate(ch4);  
        boolean b5 = Character.isSurrogate(ch5);  

        System.out.println(ch1 +" is surrogate code unit??:  "+b1);  
        System.out.println(ch2 +" is surrogate code unit??:  "+b2);  
        System.out.println(ch3 +" is surrogate code unit??:  "+b3);  
        System.out.println(ch4 +" is surrogate code unit?? : "+b4);  
        System.out.println(ch5 +" is surrogate code unit??:  "+b5);  
    }  
}

?是代理代码单元??:true c 是代理代码单位??:假 8 是代孕码单位??:假 ?是代理代码单元??:false %是代孕码单位??:假

例 2:

这里有一个用户定义的例子,任何使用这段代码的人都可以输入自己选择的值,并获得等效的输出。

import java.util.Scanner; 
public class StudyTonight
{  
    public static void main(String[] args)
    {  
        try
        {
            System.out.print("Enter the character: ");  
            Scanner sc = new Scanner(System.in);         
            char ch = sc.next().charAt(0);  
            boolean b = Character.isSurrogate(ch);
            System.out.println(ch + " is surrogate code unit?: "+b);
        }
        catch(Exception e)
        {
            System.out.println("Invalid Input!!");
        }
    }  
}

输入字符:e e 是代孕码单位?:false *输入字符:$ $是代孕码单位?:假

实时示例:

在这里,您可以测试实时代码示例。您可以为不同的值执行示例,甚至可以编辑和编写您的示例来测试 Java 代码。