【注意点:CharSequence 是一个接口,不能创建实例对象,但可以直接进行赋值来创建一个实例对象】
【原因:String 类型的数据存放在常量池,通过赋值创建的是 String 类而不是 CharSequence 这个接口,是在 String 创建完成之后吧这个字符串传递给了 CharSequence 类,所以直接赋值不会报错】
CharSequence cs=new CharSequence(“Java”) // 报错
CharSequence str = “Java”; // 成功
StringUtils.isBlank("Java"); // false
StringUtils.isNotBlank("Java"); // true
【两者区别:isBlank() 会吧空格当做空来处理,而 isEmpty() 会吧空格当做非空来处理】
StringUtils.trim(null) = null; // 输入的null不会报空指针,而是返回null
StringUtils.trim("") = "";
StringUtils.trim(" ") = "";
StringUtils.trim(" \b \t \n \f \r ") = ""; // 可以去字符串前后的转移字符
StringUtils.trim(" \n\tss \b") = "ss";
StringUtils.trim(" d d dd ") = "d d dd"; // 只能去除前后空白,不可以去除字符串中的空白
StringUtils.trim("dd ") = "dd";
StringUtils.trim(" dd ") = "dd";
StringUtils.deleteWhitespace(" a b "); // ab
StringUtils.trimToEmpty(null); // ""
StringUtils.trimToNull(null); // null
当其中一个为 null 的时候也不会报错
String str1 = null;
String str2 = "";
// System.out.println(str1.equals(str2)); // 报空指针错误
System.out.println(StringUtils.equals(str1,str2)); // false。不会报错
// 如果两个字符串都是空字符串则认为相等。
StringUtils.swapCase("I am J-A*v a"); 返回结果:i AM j-a*V A
StringUtils.capitalize("adb"); // Abc
StringUtils.capitalize("Abc"); // abc
StringUtils.upperCase("abc"); // ABC
StringUtils.lowerCase("ABC"); // abc
StringUtils.lowerCase("Abc"); // aBC
注意:空或者是空白符均为 false
StringUtils.isAllUperCase("ABC"); // true
StringUtils.isAllLowerCase("abc"); // true
StringUtils.remove("abc","b"); // ac
StringUtils.remove("mahaonan","ma"); // haonan
StringUtils.strip("[abcdef]","[]"); // abcdef