字符串整体大小写转换,首字母大小写

最近用到了首字母大写的功能,一般的思路是采用charAt(0)结合Character的toUpperCase方法转换,最后再拼成一个字符串的方式来实现

日前看到一个大神的代码,觉得效率比较高,有兴趣的朋友可以看一下

代码如下:

/**
     * 首字母大写转换
     * @param str 源字符串,首字母不支持中文
     * @return
     */
    public static String firstCharUpper(String str){
        if(str!=null&Character.isLowerCase(str.charAt(0))){ //根据需要判断是大写还是小写,下面可以做相应的修改
            char[] charArray = str.toCharArray();
            if(charArray!=null){
                charArray[0]-=32; //此处是小写转大写,如果是大写转小写则是+=32,上面需要判断一下
                return String.valueOf(charArray);
            }
        }
        return str;
    }

下面就是和上面类似的,整个字符串大小写转换

/**
     * 字符串大写化
     * @param str
     * @return
     */
    public static String strUpperCase(String str){
        if(str!=null){
            char[] charArray = str.toCharArray();
            for(int i=0;i<str.length();i++){
                if(Character.isLowerCase(str.charAt(i)))
                    charArray[i]-=32;
            }
            return String.valueOf(charArray);
        }
        return str;
    }
    
    /**
     * 字符串小写化
     * @param str
     * @return
     */
    public static String strLowerCase(String str){
        if(str!=null){
            char[] charArray = str.toCharArray();
            for(int i=0;i<str.length();i++){
                if(Character.isUpperCase(str.charAt(i)))
                    charArray[i]+=32;
            }
            return String.valueOf(charArray);
        }
        return str;
    }

以上,欢迎有更好的方法借鉴学习

@ink

Ink.Flower@china
原文地址:https://www.cnblogs.com/inkflower/p/6642006.html