时间:2021-05-20
因为习惯了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#那样简单了。
效率也是有保障的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C#中PadLeft,PadRight的用法简单来说就是给字符串实现补位。如:String.PadLeft(5,'0');表示检查字符串长度是否少于5位,若少于
String对象的实现String对象是Java中使用最频繁的对象之一,所以Java公司也在不断的对String对象的实现进行优化,以便提升String对象的性
一、String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的fin
这里来对Java中的String对象做一个稍微深入的了解。Java对象实现的演进String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地
string是Java的一种数据类型。在Java中,string类的定义为“publicfinalclassStringextendsObject”,其中包含f