欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java21增強對Emoji表情符號處理示例詳解

 更新時間:2023年11月24日 09:49:41   作者:程序猿DD  
這篇文章主要為大家介紹了Java21增強對Emoji表情符號處理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Java 21

現(xiàn)一個 Java 21 中有意思的東西!

java.Lang.Character類中增加了用于確定字符是否為 Emoji 表情符號的 API,主要包含下面六個新的靜態(tài)方法:

public static boolean isEmoji(int codePoint) {
  return CharacterData.of(codePoint).isEmoji(codePoint);
}
public static boolean isEmojiPresentation(int codePoint) {
  return CharacterData.of(codePoint).isEmojiPresentation(codePoint);
}
public static boolean isEmojiModifier(int codePoint) {
  return CharacterData.of(codePoint).isEmojiModifier(codePoint);
}
public static boolean isEmojiModifierBase(int codePoint) {
  return CharacterData.of(codePoint).isEmojiModifierBase(codePoint);
}
public static boolean isEmojiComponent(int codePoint) {
  return CharacterData.of(codePoint).isEmojiComponent(codePoint);
}
public static boolean isExtendedPictographic(int codePoint) {
  return CharacterData.of(codePoint).isExtendedPictographic(codePoint);
}

這些靜態(tài)方法通過接收字符的codePoint來判斷是否為表情符號來返回boolean值。

isEmoji方法

所以,我們可以用isEmoji方法來判斷字符串中是否有表情,比如:

@Test
void testEmoji() {
  String message = "歡迎來到 www.didispace.com ??,要不要來杯 ?? ?";
  if(message.codePoints().anyMatch(Character::isEmoji)) {
    System.out.println("Message包含表情");
  }
}

除了判斷字符串中是否包含表情符號之外,還能用isEmojiModifierisEmojiModifierBase來判斷Emoji是否被修改和是否可以被修改:

@Test
void testEmoji2() {
  String welcomeMsg ="歡迎來到 www.didispace.com ??,要不要來杯 ?? ?";
  OptionalInt emojiOptional = welcomeMsg.codePoints().filter(Character::isEmoji).findFirst();
  if (emojiOptional.isPresent()) {
    int emojiCodePoint = emojiOptional.getAsInt();
    if (Character.isEmojiModifierBase(emojiCodePoint)) {
      System.out.println("Emoji can be modified");
      if (Character.isEmojiModifier(emojiCodePoint))
        System.out.println("Emoji is modified");
      else
        System.out.println("Emoji has not been modified");
    } else
      System.out.println("Emoji cannot be modified");
  } else
    System.out.println("No emoji present");
}

使用正則表達式

這些新方法也可以通過屬性構造正則表達式來使用,比如:

String welcomeMsg = "歡迎來到 www.didispace.com ??,要不要來杯 ?? ?";
Matcher matcher = Pattern.compile("\\p{IsEmoji}").matcher(welcomeMsg);
if(matcher.find()) {
    System.out.println("Message contains an emoji!");
}
matcher = Pattern.compile("\\p{IsEmoji_Modifier_Base}").matcher(welcomeMsg);
if(matcher.find()) {
    System.out.println("Message contains an emoji modifier base!");
}

以上就是Java21增強對Emoji表情符號處理示例詳解的詳細內(nèi)容,更多關于Java處理Emoji表情符號的資料請關注腳本之家其它相關文章!

相關文章

  • Activiti如何動態(tài)獲取流程圖過程詳解

    Activiti如何動態(tài)獲取流程圖過程詳解

    這篇文章主要介紹了Activiti如何動態(tài)獲取流程圖過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • JAVA線上常見問題排查手段(小結)

    JAVA線上常見問題排查手段(小結)

    這篇文章主要介紹了JAVA線上常見問題排查手段(小結),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-07-07
  • 學習spring事務與消息隊列

    學習spring事務與消息隊列

    這篇文章主要為大家詳細介紹了spring事務與消息隊列,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java RabbitMQ的TTL和DLX全面精解

    Java RabbitMQ的TTL和DLX全面精解

    過期時間TTL表示可以對消息設置預期的時間,在這個時間內(nèi)都可以被消費者接收獲??;過了之后消息將自動被刪除。DLX, 可以稱之為死信交換機,當消息在一個隊列中變成死信之后,它能被重新發(fā)送到另一個交換機中,這個交換機就是DLX ,綁定DLX的隊列就稱之為死信隊列
    2021-09-09
  • SpringBoot常用讀取配置文件的3種方法小結

    SpringBoot常用讀取配置文件的3種方法小結

    本文主要介紹了SpringBoot常用讀取配置文件的3種方法小結,主要包括@Value讀取配置文件,@ConfigurationProperties 讀取配置文件和讀取配置文件中的List,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Java中的共享鎖CountDownLatch及源碼解析

    Java中的共享鎖CountDownLatch及源碼解析

    這篇文章主要介紹了Java中的共享鎖CountDownLatch及源碼解析,CountDownLatch是一種同步輔助工具,允許一個或多個線程等待,直到在其它線程中執(zhí)行的一組操作完成;CountDownLatch使用指定的計數(shù)初始化,需要的朋友可以參考下
    2023-11-11
  • Java多線程中的Executor框架解析

    Java多線程中的Executor框架解析

    這篇文章主要介紹了Java多線程中的Executor框架解析,Executor 框架是 Java5 之后引進的,在 Java 5 之后,通過 Executor 來啟動線程比使用 Thread 的 start 方法更好,除了更易管理,效率更好,需要的朋友可以參考下
    2023-12-12
  • Java中的排序與內(nèi)部比較器Compareable解析

    Java中的排序與內(nèi)部比較器Compareable解析

    這篇文章主要介紹了Java中的排序與內(nèi)部比較器Compareable解析,一般沒有特殊要求時,直接調(diào)用(底層默認的升序排列)就可以得到想要的結果,所謂的 sort 方法排序底層都是基于這兩種排序,故如果需要設計成所想要的排序就需要了解底層排序原理,需要的朋友可以參考下
    2023-11-11
  • Java實現(xiàn)自動壓縮文件并加密的方法示例

    Java實現(xiàn)自動壓縮文件并加密的方法示例

    這篇文章主要介紹了Java實現(xiàn)自動壓縮文件并加密的方法,涉及java針對文件進行zip壓縮并加密的相關操作技巧,需要的朋友可以參考下
    2018-01-01
  • Spring?Boot:Idea從零開始初始化后臺項目的教程

    Spring?Boot:Idea從零開始初始化后臺項目的教程

    這篇文章主要介紹了Spring?Boot:Idea從零開始初始化后臺項目的教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論