java拼接字符串的三种方式

第一种是加号;

第二种是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);
    }
原文地址:https://www.cnblogs.com/fuckingPangzi/p/10026775.html