Java如何实现字符串补齐

 更新时间:2025年05月17日 11:17:30   作者:CnLg.NJ  
这篇文章主要介绍了Java如何实现字符串补齐的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Java实现字符串补齐

方法 1:使用String.format()

推荐方式,简单高效:

String str = "123";
String paddedStr = String.format("%06d", Integer.parseInt(str));
System.out.println(paddedStr); // 输出:000123

说明

  • %06d 表示将整数格式化为 6 位字符串,不足部分用 0 填充。
  • 适用场景:输入确定为纯数字字符串。

方法 2:使用DecimalFormat

适用于数字格式化需求:

import java.text.DecimalFormat;

String str = "123";
int num = Integer.parseInt(str);
DecimalFormat df = new DecimalFormat("000000");
String paddedStr = df.format(num);
System.out.println(paddedStr); // 输出:000123

说明

  • 000000 表示固定 6 位,不足补 0。
  • 优点:适用于需要频繁格式化数字的场景。

方法 3:手动补 0(字符串拼接)

灵活处理非数字字符串:

String str = "123";
while (str.length() < 6) {
    str = "0" + str;
}
System.out.println(str); // 输出:000123

说明

  • 适用场景:输入可能包含非数字字符,且需要统一补 0 处理。

方法 4:使用StringUtils.leftPad()(Apache Commons Lang)

需要引入依赖,但功能强大:

import org.apache.commons.lang3.StringUtils;

String str = "123";
String paddedStr = StringUtils.leftPad(str, 6, '0');
System.out.println(paddedStr); // 输出:000123

依赖配置

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

优点

  • 自动处理null输入(返回null)。
  • 支持自定义填充字符(如leftPad(str, 6, ' ') 补空格)。

方法 5:使用 Java 11 + 的String.repeat()

优雅的单行实现:

String str = "123";
String paddedStr = "0".repeat(Math.max(0, 6 - str.length())) + str;
System.out.println(paddedStr); // 输出:000123

说明

  • 适用场景:Java 11 及以上版本,简洁高效。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java关键字finally_动力节点Java学院整理

    Java关键字finally_动力节点Java学院整理

    java关键字finally不管是否出现异常,finally子句总是在块完成之前执行。下面通过实现代码给大家介绍Java关键字finally相关知识,需要的的朋友参考下吧
    2017-04-04
  • spring mybatis环境常量与枚举转换示例详解

    spring mybatis环境常量与枚举转换示例详解

    这篇文章主要为大家介绍了spring mybatis环境常量与枚举转换示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Java读取项目json文件并转为JSON对象的操作

    Java读取项目json文件并转为JSON对象的操作

    这篇文章主要介绍了Java读取项目json文件并转为JSON对象的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java根据模板实现excel导出标准化

    Java根据模板实现excel导出标准化

    这篇文章主要为大家详细介绍了Java如何根据模板实现excel导出标准化,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-03-03
  • Java排序算法之选择排序代码实例

    Java排序算法之选择排序代码实例

    这篇文章主要介绍了Java排序算法之选择排序代码实例,从数组的第一个元素开始,每次遍历数组找出一个最小值放在最左侧,第二次从第二个元素开始,依次类推,直到起始元素为数组的倒数第二个元素时,直接和最后一个元素比较,较小值放左边,完成排序,需要的朋友可以参考下
    2023-11-11
  • Spring中使用自定义ThreadLocal存储导致的坑及解决

    Spring中使用自定义ThreadLocal存储导致的坑及解决

    这篇文章主要介绍了Spring中使用自定义ThreadLocal存储导致的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • springboot-jpa的实现操作

    springboot-jpa的实现操作

    这篇文章主要介绍了springboot-jpa的实现操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Spring6当中获取Bean的四种方式小结

    Spring6当中获取Bean的四种方式小结

    Spring 为Bean 的获取提供了多种方式,通常包括4种方式,(也就是说在Spring中为Bean对象的创建准备了多种方案,目的是:更加灵活),本文将通过代码示例详细的给大家介绍了一下这四种方式,需要的朋友可以参考下
    2024-04-04
  • Java实现基于token认证的方法示例

    Java实现基于token认证的方法示例

    这篇文章主要介绍了Java实现基于token认证的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Java8不可或缺小帮手之日期应用

    Java8不可或缺小帮手之日期应用

    jdk1.8后引入了新的日期时间处理API,相比传统的date操作更加简便,date中的SimpleDateFormat也是非线程安全的,废话不多说,开干
    2023-05-05

最新评论