Java 学习笔记

所有文章
📖 最新文章 transmittable-thread-local 库 JOOR 反射库 Lombok 库:为你减少样板代码 Slf4j 日志组件的使用 加速maven、gradle依赖下载
📖 Java 基础 安装 第一个程序 使用 UTF-8 编写代码 空值 null 正则表达式 线程 日期/时间 匿名类 枚举 ThreadLocal 线程本地变量 动态代理 jar 命令

Java 字符串左侧/右侧补充空格或者其他字符


方式1:自定义方法

public class StringPad {

    public static void main(String[] args) {
        System.out.println( padLeft("Hello", 10, '*') );
        System.out.println( padRight("Hello", 10, '*') );
    }

    /**
     * 左侧补字符
     */
    public static String padLeft(String origin, int length, char ch) {
        while (origin.length() < length) {
            origin = ch + origin;
        }
        return origin;
    }

    /**
     * 右侧补字符
     */
    public static String padRight(String origin, int length, char ch) {
        while (origin.length() < length) {
            origin = origin + ch;
        }
        return origin;
    }

}

运行结果:

*****Hello
Hello*****

上面的代码可以用 StringBuilder 优化性能。

方式2:使用 guava 库 Strings.padStart、Strings.padEnd 方法

在 gradle 项目中引入依赖:

dependencies {
    compile 'com.google.guava:guava:28.0-jre'
}

代码示例:

import com.google.common.base.Strings;

public class StringPad {

    public static void main(String[] args) {
        System.out.println( Strings.padStart("Hello", 10, '*') );
        System.out.println( Strings.padEnd("Hello", 10, '*') );
    }

}

运行结果:

*****Hello
Hello*****

方式3:使用 Apache Commons Lang 库中的工具方法

在 gradle 项目中引入依赖:

dependencies {
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
}

代码示例:

import org.apache.commons.lang3.StringUtils;

public class StringPad {

    public static void main(String[] args) {
        System.out.println( StringUtils.leftPad("Hello", 10, '*') );
        System.out.println( StringUtils.rightPad("Hello", 10, '*') );
    }

}

运行结果:

*****Hello
Hello*****

( 本文完 )

文章目录