Java中实现String.padLeft和String.padRight的示例

发布时间 - 2026-01-11 03:16:27    点击率:

因为习惯了C#中的padLeft和padRight,接触Java后突然失去这两个功能,觉得别扭,就试着实现了这两个方法。

Java中String.format()中带有字符串对齐功能如下:

System.out.println(String.format("*%1$-10s*", "moon"));
System.out.println(String.format("*%1$10s*", "moon"));

输出:

以上方法经过简单的变换可以得到:

public static String padWhitespaceLeft(String s, int len) {
  return String.format("%1$" + len + "s", s);
}

public static String padWhitespaceRight(String s, int len) {
  return String.format("%1$-" + len + "s", s);
}

调用下面方法:

System.out.println("*" + padWhitespaceLeft("moon", 12) + "*");
System.out.println("*" + padWhitespaceRight("moon", 12) + "*");

可以得到结果:

以上只是介绍左右对齐时,补空白符的方法,但是在实际开发过程中,单纯的补空白符也许满足不了开发要求,为此我还要做一次强化改进:

  /**
   * @作者 尧
   * @功能 String左对齐
   */
  public static String padLeft(String src, int len, char ch) {
    int diff = len - src.length();
    if (diff <= 0) {
      return src;
    }

    char[] charr = new char[len];
    System.arraycopy(src.toCharArray(), 0, charr, 0, src.length());
    for (int i = src.length(); i < len; i++) {
      charr[i] = ch;
    }
    return new String(charr);
  }
  /**
   * @作者 尧
   * @功能 String右对齐
   */
  public static String padRight(String src, int len, char ch) {
    int diff = len - src.length();
    if (diff <= 0) {
      return src;
    }

    char[] charr = new char[len];
    System.arraycopy(src.toCharArray(), 0, charr, diff, src.length());
    for (int i = 0; i < diff; i++) {
      charr[i] = ch;
    }
    return new String(charr);
  }

调用方法如下:

System.out.println("*" + padLeft("moon", 12, '-') + "*");
System.out.println("*" + padRight("moon", 12, '-') + "*");

输出结果:

这样在Java中处理字符串对齐就可以像C#那样简单了。

效率也是有保障的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Java  # String.padLeft  # String.padRight  # 这两个  # 可以得到  # 我还  # 是有  # 要做  # 大家多多  # 就可以  # 过程中  # 方法如下  # 实现了  # 就试着  # 在实际  # 右对齐  # System  # println 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在IIS中配置站点IP、端口及主机头?  用yum安装MySQLdb模块的步骤方法  C++时间戳转换成日期时间的步骤和示例代码  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  ,交易猫的商品怎么发布到网站上去?  如何在景安云服务器上绑定域名并配置虚拟主机?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel Docker环境搭建教程_Laravel Sail使用指南  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  如何在服务器上配置二级域名建站?  公司门户网站制作流程,华为官网怎么做?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  PHP正则匹配日期和时间(时间戳转换)的实例代码  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何用西部建站助手快速创建专业网站?  Swift中swift中的switch 语句  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  什么是javascript作用域_全局和局部作用域有什么区别?  免费网站制作appp,免费制作app哪个平台好?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在万网自助建站中设置域名及备案?  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何快速搭建高效WAP手机网站吸引移动用户?  javascript读取文本节点方法小结  中山网站制作网页,中山新生登记系统登记流程?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Python文本处理实践_日志清洗解析【指导】  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  canvas 画布在主流浏览器中的尺寸限制详细介绍  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  七夕网站制作视频,七夕大促活动怎么报名?  如何在自有机房高效搭建专业网站?  黑客入侵网站服务器的常见手法有哪些?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  python中快速进行多个字符替换的方法小结  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  在centOS 7安装mysql 5.7的详细教程  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册