Java 21的StringBuilder和StringBuffer新增了一个repeat方法

java,stringbuilder,stringbuffer,新增,一个,repeat,方法 · 浏览次数 : 297

小编点评

`repeat` 方法在 `StringBuilder` 和 `StringBuffer` 中新增了,用于重复指定字符或字符串的序列。 **StringBuilder 的 repeat 方法** * 接受一个字符或字符串作为参数,用于重复该字符或字符串的序列。 * 如果参数是 `null`,则不会执行重复操作。 * 如果参数是字符串,则重复该字符串的长度。 **StringBuffer 的 repeat 方法** * 接受一个字符串作为参数,用于重复该字符串的序列。 * 如果参数是 `null`,则会抛出 `IllegalArgumentException`。 * 如果参数是字符串,则重复该字符串的长度。 **使用 `repeat` 方法构建文本类的分隔符** `repeat` 方法可以用于构建一些文本类的分隔符,例如空格、逗号、等。 **其他妙用** * 可以使用 `repeat` 方法创建不同类型的字符串,例如 HTML 标签。 * 可以使用 `repeat` 方法创建包含不同字符的字符串。 **学习建议** * 可以参考 Java 文档中的 `StringBuilder` 和 `StringBuffer` 类文档,了解它们的`repeat` 方法。 * 可以通过实际的编程实践来理解这些方法的行为。 * 可以参考一些学习 Java 教程和示例,了解如何在实际项目中使用 `repeat` 方法。

正文

发现Java 21的StringBuilderStringBuffer中多了repeat方法:

    /**
     * @throws IllegalArgumentException {@inheritDoc}
     *
     * @since 21
     */
    @Override
    public StringBuilder repeat(int codePoint, int count) {
        super.repeat(codePoint, count);
        return this;
    }

    /**
     * @throws IllegalArgumentException {@inheritDoc}
     *
     * @since 21
     */
    @Override
    public StringBuilder repeat(CharSequence cs, int count) {
        super.repeat(cs, count);
        return this;
    }

根据名字猜猜是干嘛的?试试下面的代码:

var sb = new StringBuilder().repeat("*", 10);
System.out.println(sb);

最后会输出:

**********

另一个repeat方法第一个参数是codePoint,指得应该是UniCode字符集中的codePoint,所以这个方法的repeat是针对UniCode字符的。

一时间似乎想不到什么特别大的用户,就想到可以用来快捷的构建一些文本类的分隔符?你觉得还有其他什么妙用吗?一起聊聊~ 如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性专栏

欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

与Java 21的StringBuilder和StringBuffer新增了一个repeat方法相似的内容:

Java 21的StringBuilder和StringBuffer新增了一个repeat方法

发现Java 21的StringBuilder和StringBuffer中多了repeat方法: /** * @throws IllegalArgumentException {@inheritDoc} * * @since 21 */ @Override public StringBuilder

前瞻|Java 21 新特性 String Templates(字符串模版)

在日常写Java的时候,对于字符串的操作是非常普遍的,其中最常见的就是对字符串的组织。也因为这个操作非常普遍,所以诞生了很多方案,总下来大概有这么几种: - 使用`+`拼接 - 使用`StringBuffer`和`SpringBuilder` - `String::format` and `Stri

Java 21 正式 GA,虚拟线程真的来了

UTC 时间 2023 年 9 月 19 日,期盼已久的 Java 21 终于发布正式版! 本文一起来看看其中最受 Java 开发者关注的一项新特性:Loom 项目的两个新特性之一的 ”虚拟线程(Virtual Thread)“(另外一个新特性是 ”结构化并发(Structured Concurre

Java 21 新特性:switch的模式匹配

在之前的Java 17新特性中,我们介绍过关于JEP 406: switch的模式匹配,但当时还只是关于此内容的首个预览版本。之后在JDK 18、JDK 19、JDK 20中又都进行了更新和完善。如今,在JDK 21中,该特性得到了最终确定!下面,我们就再正式学习一下该功能! 在以往的switch语

Java 21新特性:Sequenced Collections(有序集合)

在JDK 21中,Sequenced Collections的引入带来了新的接口和方法来简化集合处理。此增强功能旨在解决访问Java中各种集合类型的第一个和最后一个元素需要非统一且麻烦处理场景。 下面一起通过本文来了解一下不同集合处理示例。 Sequenced Collections接口 Seque

Java 21新特性-虚拟线程 审核中

Java 21 版本更新中最重要的功能之一就是虚拟线程 (JEP 444)。这些轻量级线程减少了编写、维护和观察高吞吐量并发应用程序所需的工作量。

Java 21 新特性:Unnamed Classes and Instance Main Methods

Java 21引入了两个语言核心功能: 未命名的Java类你说 新的启动协议:该协议允许更简单地运行Java类,并且无需太多样板 下面一起来看个例子。通常,我们初学Java的时候,都会写类似下面这样的 Hello World 程序: public class HelloWorld { public

Java 21 新特性:Unnamed Patterns and Variables

Java 21中除了推出JEP 445:Unnamed Classes and Instance Main Methods之外,还有另外一个预览功能:未命名模式和变量(Unnamed Patterns and Variables)。该新特性的目的是提高代码的可读性和可维护性。 下面通过一个例子来理解

Java 21 新特性:虚拟线程(Virtual Threads)

在Java 21中,引入了虚拟线程(Virtual Threads)来简化和增强并发性,这使得在Java中编程并发程序更容易、更高效。 虚拟线程,也称为“用户模式线程(user-mode threads)”或“纤程(fibers)”。该功能旨在简化并发编程并提供更好的可扩展性。虚拟线程是轻量级的,这

Java21上手体验-分代ZGC和虚拟线程

一、导语 几天前Oracle刚刚发布了Java21, 由于这是最新的LTS版本,引起了大家的关注。 我也第一时间在个人项目中进行了升级体验。 一探究竟,和大家分享。 二、Java21更新内容介绍 官方release公告: https://jdk.java.net/21/release-notes 开