最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java21增強(qiáng)對Emoji表情符號處理示例詳解

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

Java 21

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

java.Lang.Character類中增加了用于確定字符是否為 Emoji 表情符號的 API,主要包含下面六個(gè)新的靜態(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");
}

使用正則表達(dá)式

這些新方法也可以通過屬性構(gòu)造正則表達(dá)式來使用,比如:

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增強(qiáng)對Emoji表情符號處理示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Java處理Emoji表情符號的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java判斷今天,昨天,前天,不能用秒間隔的簡單實(shí)例

    java判斷今天,昨天,前天,不能用秒間隔的簡單實(shí)例

    下面小編就為大家?guī)硪黄猨ava判斷今天,昨天,前天,不能用秒間隔的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • 解決Mybatis中foreach嵌套使用if標(biāo)簽對象取值的問題

    解決Mybatis中foreach嵌套使用if標(biāo)簽對象取值的問題

    這篇文章主要介紹了解決Mybatis中foreach嵌套使用if標(biāo)簽對象取值的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 淺析Spring和MyBatis整合及逆向工程

    淺析Spring和MyBatis整合及逆向工程

    這篇文章主要介紹了Spring和MyBatis整合及逆向工程的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Jmeter后置處理器實(shí)現(xiàn)過程及方法應(yīng)用

    Jmeter后置處理器實(shí)現(xiàn)過程及方法應(yīng)用

    這篇文章主要介紹了Jmeter后置處理器實(shí)現(xiàn)過程及方法應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳談Java枚舉、靜態(tài)導(dǎo)入、自動拆裝箱、增強(qiáng)for循環(huán)、可變參數(shù)

    詳談Java枚舉、靜態(tài)導(dǎo)入、自動拆裝箱、增強(qiáng)for循環(huán)、可變參數(shù)

    下面小編就為大家?guī)硪黄斦凧ava枚舉、靜態(tài)導(dǎo)入、自動拆裝箱、增強(qiáng)for循環(huán)、可變參數(shù)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • 詳解如何在Java中創(chuàng)建Excel迷你圖

    詳解如何在Java中創(chuàng)建Excel迷你圖

    迷你圖是一種簡潔而有效的數(shù)據(jù)可視化方式,常用于展示趨勢和變化,通常被用于數(shù)據(jù)儀表盤、報(bào)告和展示中,以便在有限的空間內(nèi)展示多個(gè)數(shù)據(jù)集的趨勢,今天小編為大家介紹如何在Java中創(chuàng)建Excel迷你圖,需要的朋友可以參考下
    2023-10-10
  • Java詳細(xì)分析LCN框架分布式事務(wù)

    Java詳細(xì)分析LCN框架分布式事務(wù)

    這篇文章主要介紹了Java LCN框架分布式事務(wù),分布式事務(wù)是指事務(wù)的參與者、支持事務(wù)的服務(wù)器、資源服務(wù)器以及事務(wù)管理器分別位于不同的分布式系統(tǒng)的不同節(jié)點(diǎn)之上
    2022-07-07
  • Java泛型定義與用法實(shí)例詳解

    Java泛型定義與用法實(shí)例詳解

    這篇文章主要介紹了Java泛型定義與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java中泛型的概念、原理、定義、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • 云服務(wù)器環(huán)境搭建及部署(jdk、mysql、redis、nginx環(huán)境搭建)詳細(xì)步驟

    云服務(wù)器環(huán)境搭建及部署(jdk、mysql、redis、nginx環(huán)境搭建)詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于云服務(wù)器環(huán)境搭建及部署(jdk、mysql、redis、nginx環(huán)境搭建)詳細(xì)步驟的相關(guān)資料,要在云服務(wù)器上搭建JDK、MySQL、Redis和Nginx的環(huán)境,可以按照以下步驟進(jìn)行操作,需要的朋友可以參考下
    2024-01-01
  • 如何避免在Java?中使用雙括號初始化

    如何避免在Java?中使用雙括號初始化

    這篇文章主要介紹了如何避免在Java中使用雙括號初始化,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07

最新評論

扎兰屯市| 东乡族自治县| 遂宁市| 始兴县| 茶陵县| 宁都县| 镇赉县| 贡山| 稻城县| 东方市| 饶河县| 南郑县| 西平县| 中阳县| 绵阳市| 海林市| 皋兰县| 灌南县| 贡嘎县| 稷山县| 京山县| 抚顺县| 双牌县| 喀什市| 漠河县| 卢湾区| 广德县| 达孜县| 海晏县| 砚山县| 年辖:市辖区| 喀喇沁旗| 惠东县| 阳春市| 华安县| 临城县| 云林县| 裕民县| 平武县| 塔河县| 达日县|