Java21 LTS版本来了, API 变更详细汇总

一、前言

除了众所周知的 JEP 之外,Java 21 还有更多内容。首先请确认 java 版本:

$ java -version
openjdk version "21" 2023-09-19
OpenJDK Runtime Environment (build 21+35-2513)
OpenJDK 64-Bit Server VM (build 21+35-2513, mixed mode, sharing)

我们一起来看看 String 和它的朋友们 Collections、Date、Time、HttpClient、并发、Math 和 BigInteger 的新增一些 API。

二、String(Java21新增)

String 新增了 indexOf() 方法,允许在起始索引和结束索引之间查找单个字符或子字符串。

public int indexOf(int ch, int beginIndex, int endIndex);
public int indexOf(String str, int beginIndex, int endIndex);

示例:

String text = "JAVA架构日记-2023-如梦技术";

int index = text.indexOf("0", 5, 15);

三、Character(Java21新增)

Character 类新增了几个方法来支持 Emoji 表情符号,新增了五个方法:isEmoji()isEmojiComponent()isEmojiModifier()isEmojiModifierBase() 和 isEmojiPresentation()

public static boolean isEmoji(int codePoint);
public static boolean isEmojiPresentation(int codePoint);
public static boolean isEmojiModifier(int codePoint);
public static boolean isEmojiModifierBase(int codePoint);
public static boolean isEmojiComponent(int codePoint);
public static boolean isExtendedPictographic(int codePoint);

所有这些方法都接受一个 int 类型的码点作为参数,判断传入的码点是否具有对应的表情符号。

四、StringBuffer 和 StringBuilder(Java21新增)

StringBuffer 和 StringBuilder 新增了 repeat() 方法重复单个字符或字符串多次。

StringBuilder:

@Override
public StringBuilder repeat(int codePoint, int count);

@Override
public StringBuilder repeat(CharSequence cs, int count);

StringBuffer:

@Override
public synchronized StringBuffer repeat(int codePoint, int count);

@Override
public synchronized StringBuffer repeat(CharSe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值