行业资讯 2025年08月6日
0 收藏 0 点赞 220 浏览 2673 个字
摘要 :

文章目录 1.使用StringUtils.leftPad() 1.1. Maven依赖 1.2. 句法 1.3. 左侧填充空格 1.4. 左填充零 2. 使用Strings.padStart() 3. 使用纯Java 4.结论 学习在 Java ……




  • 1.使用StringUtils.leftPad()
    • 1.1. Maven依赖
    • 1.2. 句法
    • 1.3. 左侧填充空格
    • 1.4. 左填充零
  • 2. 使用Strings.padStart()
  • 3. 使用纯Java
  • 4.结论

学习在 Java 中对字符串进行左填充,使其达到固定长度。例如,如果我们有一个长度为 10 的字符串,并且我们希望通过在其左侧添加空格来将其长度增加到 15。类似地,我们可以通过在数字左侧添加零来向其左侧填充数字。

以下示例演示了向字符串或数字添加左填充的效果。

panziye.com       //没有填充
    panziye.com   //4个点空格左填充
....panziye.com   //4个点的左填充
0000panziye.com   //4个0的左填充

1.使用StringUtils.leftPad()

要添加左填充,最简单易行的方法是使用StringUtils.leftPad()方法。StringUtils类提供了许多有用的方法来操作字符串并修改它们以获得所需的效果。

使用StringUtils.rightPad()在 Java 中右填充字符串。

1.1. Maven依赖

首先在项目中添加最新版本的 Apache common-lang3库。

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

1.2. 句法

leftPad ()方法是一个重载方法,具有以下参数:

  • str – 要填充的字符串。它可以为null。它不会抛出NullPointerException ,而是在传递null参数时返回null 。
  • size – 要填充的大小,即结果字符串的总长度。
  • padStr – 要填充的字符串。
  • padChar – 要填充的字符。
public static String leftPad(str, size);
public static String leftPad(str, size, padStr);
public static String leftPad(str, size, padChar);

1.3. 左侧填充空格

在下面的程序中,我们留下填充字符串“howtodoinjava”。第二条语句不添加任何填充,因为输入字符串的长度已经超过 10。

Assertions.assertEquals(null, StringUtils.leftPad(null, 10, \" \"));
Assertions.assertEquals(\"howtodoinjava\", StringUtils.leftPad(\"howtodoinjava\", 10, \" \"));
Assertions.assertEquals(\"       howtodoinjava\", StringUtils.leftPad(\"howtodoinjava\", 20, \" \"));

1.4. 左填充零

以下 Java 程序使用StringUtils.leftPad()方法通过向字符串添加前导零来向数字左填充零。

Assertions.assertEquals(\"0123456789\", StringUtils.leftPad(\"123456789\", 10, \"0\"));
Assertions.assertEquals(\"0000000789\", StringUtils.leftPad(\"789\", 10, \"0\"));
Assertions.assertEquals(\"0000056789\", StringUtils.leftPad(\"56789\", 10, \"0\"));

2. 使用Strings.padStart()

Strings类是 Google Guava 库的一部分,提供修改字符串的实用方法。首先将最新版本的 Guava添加到项目中。

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>31.1-jre</version>
</dependency>

现在我们可以使用Strings.padStart() API 添加左侧填充。

Assertions.assertEquals(\"0123456789\", Strings.padStart(\"123456789\", 10, \'0\'));
Assertions.assertEquals(\"       howtodoinjava\", Strings.padStart(\"howtodoinjava\", 20, \' \'));

3. 使用纯Java

我们可以创建自己的自定义 API,用提供的填充字符或字符串填充给定的字符串。它使我们能够灵活地进一步定制逻辑。例如,我们可以决定如果任何参数为null该怎么办。

以下方法使用String.repeat() API 创建左填充,然后追加输入字符串以构建最终字符串。

public static String leftPad(String input, int length, String padStr) {
  if(input == null || padStr == null){
    return null;
  }
  if(input.length() >= length){
    return input;
  }
  int padLength = length - input.length();
  StringBuilder paddedString = new StringBuilder();
  paddedString.append(padStr.repeat(padLength));
  paddedString.append(input);
  return paddedString.toString();
}

让我们测试一下该功能:

Assertions.assertEquals(\"0123456789\", leftPad(\"123456789\", 10, \"0\"));
Assertions.assertEquals(\"       howtodoinjava\", leftPad(\"howtodoinjava\", 20, \" \"));

4.结论

在这个简短的 Java 教程中,我们学习了如何用空格(或任何填充字符)将字符串左填充到固定长度。我们还看到左侧填充了一个带有零的数字。我们学习了使用StringUtils、Strings类并创建我们自己的左侧填充解决方案。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9209.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号