zoukankan      html  css  js  c++  java
  • StringUtils工具类的使用

    注意isNotEmpty()和isNotBlank()的区别

    过去的字符串判空:if("".equals(str) || str == null)。现在使用工具类StringUtils就可以实现:

    1.判断字符串是否为空isEmpty()和isBlank()。

    isEmpty()方法:

    1 StringUtils.isEmpty(null)      = true
    2 StringUtils.isEmpty("")        = true
    3 StringUtils.isEmpty(" ")       = false
    4 StringUtils.isEmpty("bob")     = false
    5 StringUtils.isEmpty("  bob  ") = false
    View Code

    isBlank()方法:

    1  StringUtils.isBlank(null)      = true
    2  StringUtils.isBlank("")        = true
    3  StringUtils.isBlank(" ")       = true
    4  StringUtils.isBlank("bob")     = false
    5  StringUtils.isBlank("  bob  ") = false
    View Code

    2.判断字符串是否非空isNotEmpty()和isNotBlank()。

    isNotEmpty()方法:

    1  StringUtils.isNotEmpty(null)      = false
    2  StringUtils.isNotEmpty("")        = false
    3  StringUtils.isNotEmpty(" ")       = true
    4  StringUtils.isNotEmpty("bob")     = true
    5  StringUtils.isNotEmpty("  bob  ") = true
    View Code

    isNotBlank()方法:

    1  StringUtils.isNotBlank(null)      = false
    2  StringUtils.isNotBlank("")        = false
    3  StringUtils.isNotBlank(" ")       = false
    4  StringUtils.isNotBlank("bob")     = true
    5  StringUtils.isNotBlank("  bob  ") = true
    View Code

    3.移除字符串两端的空字符串,制表符char <= 32如: 等,trim()。如果字符串是null,返回null,不为null时正常去除左右空格。

    1  StringUtils.trim(null)          = null
    2  StringUtils.trim("")            = ""
    3  StringUtils.trim("     ")       = ""
    4  StringUtils.trim("abc")         = "abc"
    5  StringUtils.trim("    abc    ") = "abc"
    View Code

    4.trimToNull()如果传入的参数在去除空格后是null或"",则返回null,否则返回去除空格后的字符串;trimToEmpty()如果传入的参数是null则返回null,否则返回去除空格后的字符串

     1     public static String trimToNull(String str) {
     2         String ts = trim(str);
     3         return isEmpty(ts)?null:ts;
     4     }
     5 
     6     public static String trimToEmpty(String str) {
     7         return str == null?"":str.trim();
     8     }
     9 
    10     public static boolean isEmpty(CharSequence cs) {
    11         return cs == null || cs.length() == 0;
    12     }
    View Code

    5.字符串比对方法equals(s1,s2),两个字符串都可为空,不会报异常。

    1  StringUtils.equals(null, null)   = true
    2  StringUtils.equals(null, "abc")  = false
    3  StringUtils.equals("abc", null)  = false
    4  StringUtils.equals("abc", "abc") = true
    5  StringUtils.equals("abc", "ABC") = false
    View Code

    6.字符串比较(忽略大小写进行比较),equalsIgnoreCase(s1,s2),可用于验证码比对等。

    1  StringUtils.equalsIgnoreCase(null, null)   = true
    2  StringUtils.equalsIgnoreCase(null, "abc")  = false
    3  StringUtils.equalsIgnoreCase("abc", null)  = false
    4  StringUtils.equalsIgnoreCase("abc", "abc") = true
    5  StringUtils.equalsIgnoreCase("abc", "ABC") = true
    View Code

    7.查找第二个字符串在第一个字符串中第一次出现的下标并返回indexOf(s1,s2)。

    1  StringUtils.indexOf(null, *)         = -1
    2  StringUtils.indexOf("", *)           = -1
    3  StringUtils.indexOf("aabaabaa", 'a') = 0
    4  StringUtils.indexOf("aabaabaa", 'b') = 2
    View Code

    8.查找第二个字符串在第一个字符串中第ordinal次出现的下标并返回ordinalIndexOf(s1, s2, ordinal)。

     1  StringUtils.ordinalIndexOf(null, *, *)          = -1
     2  StringUtils.ordinalIndexOf(*, null, *)          = -1
     3  StringUtils.ordinalIndexOf("", "", *)           = 0
     4  StringUtils.ordinalIndexOf("aabaabaa", "a", 1)  = 0
     5  StringUtils.ordinalIndexOf("aabaabaa", "a", 2)  = 1
     6  StringUtils.ordinalIndexOf("aabaabaa", "b", 1)  = 2
     7  StringUtils.ordinalIndexOf("aabaabaa", "b", 2)  = 5
     8  StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1
     9  StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4
    10  StringUtils.ordinalIndexOf("aabaabaa", "", 1)   = 0
    11  StringUtils.ordinalIndexOf("aabaabaa", "", 2)   = 0
    View Code

    9.查找第二个字符串在第一个字符串中最后一次出现的下标并返回lastIndexOf(),这个方法有多种重载方式。

    10.第一个字符串中是否包含第二个字符串contains(s1,s2)。

    1  StringUtils.contains(null, *)    = false
    2  StringUtils.contains("", *)      = false
    3  StringUtils.contains("abc", 'a') = true
    4  StringUtils.contains("abc", 'z') = false
    View Code

    11.字符串截取substring(str,start),从start下标的位置开始截取str字符串。如果start>0则从前往后数然后截取,如果start<0则从后往前数然后截取。

    1  StringUtils.substring(null, *)   = null
    2  StringUtils.substring("", *)     = ""
    3  StringUtils.substring("abc", 0)  = "abc"
    4  StringUtils.substring("abc", 2)  = "c"
    5  StringUtils.substring("abc", 4)  = ""
    6  StringUtils.substring("abc", -2) = "bc"
    7  StringUtils.substring("abc", -4) = "abc"
    View Code

    12.字符串分割String[] split(str, separatorChars),根据separatorChars字符串分割str字符串。

    1  StringUtils.split(null, *)         = null
    2  StringUtils.split("", *)           = []
    3  StringUtils.split("abc def", null) = ["abc", "def"]
    4  StringUtils.split("abc def", " ")  = ["abc", "def"]
    5  StringUtils.split("abc  def", " ") = ["abc", "def"]
    6  StringUtils.split("ab:cd:ef", ":") = ["ab", "cd", "ef"]
    View Code

    13.字符串连接String join(数组)和String join(Object[] array, char separator)。

    1  StringUtils.join(null)            = null
    2  StringUtils.join([])              = ""
    3  StringUtils.join([null])          = ""
    4  StringUtils.join(["a", "b", "c"]) = "abc"
    5  StringUtils.join([null, "", "a"]) = "a"
    View Code
    1  StringUtils.join(null, *)               = null
    2  StringUtils.join([], *)                 = ""
    3  StringUtils.join([null], *)             = ""
    4  StringUtils.join(["a", "b", "c"], ';')  = "a;b;c"
    5  StringUtils.join(["a", "b", "c"], null) = "abc"
    6  StringUtils.join([null, "", "a"], ';')  = ";;a"
    View Code

    14.删除以特定字符串remove开头的字符串,如果没有则不删除remove(str,remove)。

    1  StringUtils.removeStart(null, *)      = null
    2  StringUtils.removeStart("", *)        = ""
    3  StringUtils.removeStart(*, null)      = *
    4  StringUtils.removeStart("www.domain.com", "www.")   = "domain.com"
    5  StringUtils.removeStart("domain.com", "www.")       = "domain.com"
    6  StringUtils.removeStart("www.domain.com", "domain") = "www.domain.com"
    7  StringUtils.removeStart("abc", "")    = "abc"
    View Code

    15.右边自动补齐String rightPad(String, int, char),例如用于生成订单号等。

    1  StringUtils.rightPad(null, *, *)     = null
    2  StringUtils.rightPad("", 3, 'z')     = "zzz"
    3  StringUtils.rightPad("bat", 3, 'z')  = "bat"
    4  StringUtils.rightPad("bat", 5, 'z')  = "batzz"
    5  StringUtils.rightPad("bat", 1, 'z')  = "bat"
    6  StringUtils.rightPad("bat", -1, 'z') = "bat"
    View Code

    16.首字母大写capitalize(String)。

    1  StringUtils.capitalize(null)  = null
    2  StringUtils.capitalize("")    = ""
    3  StringUtils.capitalize("cat") = "Cat"
    4  StringUtils.capitalize("cAt") = "CAt"
    View Code

    17.反向大小写,即大写字母小写,小写字母大写swap(String)。

    1  StringUtils.swapCase(null)                 = null
    2  StringUtils.swapCase("")                   = ""
    3  StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
    View Code

    18.判断字符串是否由字母组成isAlpha()。

    1  StringUtils.isAlpha(null)   = false
    2  StringUtils.isAlpha("")     = false
    3  StringUtils.isAlpha("  ")   = false
    4  StringUtils.isAlpha("abc")  = true
    5  StringUtils.isAlpha("ab2c") = false
    6  StringUtils.isAlpha("ab-c") = false
    View Code

    19.字符串翻转reverse(String)。

    1  StringUtils.reverse(null)  = null
    2  StringUtils.reverse("")    = ""
    3  StringUtils.reverse("bat") = "tab"
    View Code
  • 相关阅读:
    [Leetcode]7. 整数反转
    [Leetcode]6. Z 字形变换
    [Leetcode]5. 最长回文子串
    java实现各种排序算法1
    [Leetcode]4. 寻找两个正序数组的中位数
    css设置字体单行,多行超出省略号显示
    如何获得select被选中option的value和text和......
    在vue项目中,将juery设置为全局变量
    js中遍历对象的属性和值的方法
    深入理解JS的事件绑定、事件流模型
  • 原文地址:https://www.cnblogs.com/cing/p/7810169.html
Copyright © 2011-2022 走看看