Java - Character getDirectionality() 方法



描述

Java 的Character getDirectionality() 方法将检索给定字符的 Unicode 双向属性。

字符方向性用于计算文本的视觉顺序。例如,一些语言,如英语,是从左到右书写的;而其他文字,如阿拉伯语和乌尔都语,是从右到左书写的。但是,阿拉伯文字并不总是从右到左书写,数字和数学日期等是从左到右书写的。在这种情况下,此方法有助于确定字符的方向性。

注意:未定义字符值的 directionality 值为 DIRECTIONALITY_UNDEFINED。

语法

以下是 Java Character getDirectionality() 方法的语法

public static byte getDirectionality(char ch)
or,
public static byte getDirectionality(int codePoint)

参数

  • ch − 请求方向性属性的字符

  • codePoint − 请求方向性属性的码点

返回值

此方法返回字符值的 directionality 属性。返回类型为 byte。

获取给定字符的 Unicode 方向性属性示例

以下示例显示了 Java Character getDirectionality() 方法的使用方法。在此示例中,我们创建了两个 char 变量,并分别为它们分配了 char 值和 unicode 值。现在,使用 getDirectionality() 方法,我们获取 char 值的方向性,并将结果打印出来。

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String[] args) {

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

      // assign values to ch1, ch2
      ch1 = 'M';
      ch2 = '\u06ff';

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

      // assign directionality of ch1, ch2 to b1, b2
      b1 = Character.getDirectionality(ch1);
      b2 = Character.getDirectionality(ch2);

      /**
      *  byte value 0 represents DIRECTIONALITY_LEFT_TO_RIGHT
      *  byte value 2 represents DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
      */

      String str1 = "Directionality of " + ch1 + " is " + b1;
      String str2 = "Directionality of ch2 is " + b2;

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

输出

让我们编译并运行上面的程序,这将产生以下结果:

Directionality of M is 0 
Directionality of ch2 is 2

获取特殊字符的 Unicode 方向性属性示例

以下示例显示了 Java Character getDirectionality() 方法的使用方法。在此示例中,我们创建了两个 char 变量,并分别为它们分配了 char 值和 unicode 值。现在,使用 getDirectionality() 方法,我们获取 char 值的方向性,并将结果打印出来。

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String[] args) {
      char ch1 = '%';
      char ch2 = '&';
      byte b1 = Character.getDirectionality(ch1);
      byte b2 = Character.getDirectionality(ch2);
      System.out.println("Directionality of " + ch1 + " is " + b1);
      System.out.println("Directionality of ch2 is " + b2);
   }
}

输出

编译并执行上述程序后的输出如下:

Directionality of % is 5
Directionality of ch2 is 13

获取码点的 Unicode 方向性属性示例

以下示例显示了 Java Character getDirectionality() 方法的使用方法。在此示例中,我们创建了两个 int 变量,并分别为它们分配了十六进制整数值。现在,使用 getDirectionality() 方法,我们获取码点值的 directionality,并将结果打印出来。

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String[] args) {
      int cp1, cp2;
      cp1 = 0x2323;
      cp2 = 0x2c60;
      byte b1, b2;
      b1 = Character.getDirectionality(cp1);
      b2 = Character.getDirectionality(cp2);
      System.out.println("Directionality of cp1 is " + b1);
      System.out.println("Directionality of cp2 is " + b2);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Directionality of cp1 is 13
Directionality of cp2 is 0

获取码点和字符的 Unicode 方向性属性示例

以下示例显示了 Java Character getDirectionality() 方法的使用方法。在此示例中,我们创建了两个 int 变量,并分别为它们分配了十六进制整数值和一个字符。现在,使用 getDirectionality() 方法,我们获取码点值的 directionality,并将结果打印出来。

package com.tutorialspoint;

public class Demo {
   public static void main(String[] args) {
      int cp1;
      char ch1;
      cp1 = 0x2323;
      ch1 = 'y';
      byte b1, b2;
      b1 = Character.getDirectionality(cp1);
      b2 = Character.getDirectionality(ch1);
      System.out.println("Directionality of cp1 is " + b1);
      System.out.println("Directionality of cp2 is " + b2);
   }
}

输出

如果我们编译并运行上面的程序,则输出将显示为:

Directionality of cp1 is 13
Directionality of cp2 is 0
java_lang_character.htm
广告