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

网友投稿 389 2023-04-03


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"));

输出:

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

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", http://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#那样简单http://了。

效Rmxfyd率也是有保障的。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:webpack构建react多页面应用详解
下一篇:详解axios 全攻略之基本介绍与使用(GET 与 POST)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~