mysql padleft_Java中实现String.padLeft和String.padRight

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

Java中String.format()中带有字符串对齐功能如下:System.out.println(String.format("*%1$-10s*", "moon"));

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

输出:

660970-20170508181533691-1080887929.png

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

copycode.gifpublic 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);

}

copycode.gif

调用下面方法:System.out.println("*" + padWhitespaceLeft("moon", 12) + "*");

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

可以得到结果:

660970-20170508181911972-935327578.png

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

copycode.gif/**

* @作者 尧

* @功能 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 

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 

charr[i] = ch;

}        return new String(charr);

}

copycode.gif

调用方法如下:System.out.println("*" + padLeft("moon", 12, '-') + "*");

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

输出结果:

660970-20170508182201269-1086679052.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值