Java中实现String.padLeft和String.padRight的示例
发布时间:2020-12-14 14:10:38 所属栏目:Java 来源:网络整理
导读:因为习惯了C#中的padLeft和padRight,接触Java后突然失去这两个功能,觉得别扭,就试着实现了这两个方法。 Java中String.format()中带有字符串对齐功能如下: System.out.println(String.format("*%1$-10s*","moon"));System.out.println(String.format("*%1$
因为习惯了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(),charr,src.length()); for (int i = src.length(); i < len; i++) { charr[i] = ch; } return new String(charr); } /** * @作者 尧 * @功能 String右对齐 */ public static String padRight(String src,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",'-') + "*"); 输出结果: 这样在Java中处理字符串对齐就可以像C#那样简单了。 效率也是有保障的。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |