Java中實現(xiàn)String.padLeft和String.padRight的示例
因為習慣了C#中的padLeft和padRight,接觸Java后突然失去這兩個功能,覺得別扭,就試著實現(xiàn)了這兩個方法。
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) + "*");
可以得到結果:
以上只是介紹左右對齊時,補空白符的方法,但是在實際開發(fā)過程中,單純的補空白符也許滿足不了開發(fā)要求,為此我還要做一次強化改進:
/** * @作者 堯 * @功能 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#那樣簡單了。
效率也是有保障的。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java中將String類型依照某個字符分割成數(shù)組的方法
下面小編就為大家分享一篇Java中將String類型依照某個字符分割成數(shù)組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03Java中對list map根據map某個key值進行排序的方法
今天小編就為大家分享一篇Java中對list map根據map某個key值進行排序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07idea?springBoot項目自動注入mapper為空報錯的解決方法
這篇文章主要介紹了idea?springBoot項目自動注入mapper為空報錯的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03Spring Boot 使用WebAsyncTask異步返回結果
這篇文章主要介紹了Spring Boot 使用WebAsyncTask異步返回結果的相關資料,需要的朋友可以參考下2018-02-02