第一種是加號;
第二種是StringBuffer或者StringBuilder的append
第三種是concat()
判斷中文字符串長度的方法:
/** * 判斷漢字的長度 * @param str * @return */ public static int stringLength(String str) { int stringLength = 0; try { if (str != null && !str.equals("")) { stringLength = str.getBytes("GB18030").length; } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return stringLength; }
指定長度生成字符串,多的補空格:
public static String addStrLength(String str,Integer strLength){ if(str != null){ Integer nowLength = str.length(); Integer total; for(int i = 0; i<strLength; i++){ str = str + " "; total = stringLength(str); if(total.equals(strLength)){ break; } } return str; }else { str = ""; for (int i=0;i<strLength;i++){ str = str+" "; } return str; } }
在JAVA里采用的是Unicode 編碼,中文 英文字符都是占兩個字節,所以中英文字符都算一個。
今天遇到和別的系統做對接的時候,遇到的問題記一下。
GBK和UTF-8的互轉
public static void main(String[] args) throws UnsupportedEncodingException { String srcString = "我們是中國人"; String utf2GbkString = new String(srcString.getBytes("UTF-8"),"GBK"); System.out.println("UTF-8轉換成GBK:"+utf2GbkString); String utf2Gbk2UtfString = new String(utf2GbkString.getBytes("GBK"),"UTF-8"); System.out.println("UTF-8轉換成GBK再轉成UTF-8:"+utf2Gbk2UtfString); }