StringUtils类API及使用方法详解

StringUtils方法概览

判空函数

1)StringUtils.isEmpty(String str)

2)StringUtils.isNotEmpty(String str)

3)StringUtils.isBlank(String str)

4)StringUtils.isNotBlank(String str)

5)StringUtils.isAnyBlank(CharSequence… css)

6)StringUtils.isAnyEmpty(CharSequence… css)

7)StringUtils.isNoneBlank(CharSequence… css)

8)StringUtils.isNoneEmpty(CharSequence… css)

9)StringUtils.isWhitespace(CharSequence cs)

  • isNotEmpty = !isEmpty, isBlank同理;
  • 容易忽略的;
      StringUtils.isEmpty("")        = true
  • isBlank和isEmpty区别:
    1.  
      System.out.println(StringUtils.isBlank(" "));//true
    2.  
       
    3.  
      System.out.println(StringUtils.isBlank(" "));//true
    4.  
       
    5.  
      System.out.println(StringUtils.isBlank("\n\t"));//true
    6.  
      //区别
    7.  
      StringUtils.isEmpty(" ") = false
  • isAnyBlank和isAnyEmpty是多维判空,存在一个blank或者empty既true
    1.  
      StringUtils.isAnyBlank("", "bar","foo"); = true
    2.  
      //注意这两个区别
    3.  
      StringUtils.isAnyEmpty(" ", "bar") = false
    4.  
      StringUtils.isAnyEmpty(" ", "bar") = true
  • isNoneBlank = !isAnyBlank;isNoneEmpty同理
    1.  
      public static boolean isNoneBlank(CharSequence... css) {
    2.  
      return !isAnyBlank(css);
    3.  
      }
  • isWhitespace判断空白
    1.  
      StringUtils.isWhitespace(null) = false
    2.  
      StringUtils.isWhitespace("") = true
    3.  
      StringUtils.isWhitespace(" ") = true

大小写函数

StringUtils.capitalize(String str)

StringUtils.uncapitalize(String str)

StringUtils.upperCase(String str)

StringUtils.upperCase(String str,Locale locale)

StringUtils.lowerCase(String str)

StringUtils.lowerCase(String str,Locale locale)

StringUtils.swapCase(String str)

StringUtils.isAllUpperCase(CharSequence cs)

StringUtils.isAllLowerCase(CharSequence cs)

注意点:

  • capitalize首字母大写,upperCase全部转化为大写,swapCase大小写互转;
    1.  
      StringUtils.capitalize(null) = null
    2.  
       
    3.  
      StringUtils.capitalize("") = ""
    4.  
       
    5.  
      //首字母转为大写
    6.  
      StringUtils.capitalize("cat") = "Cat"
    7.  
       
    8.  
      //全部转为大写
    9.  
      StringUtils.upperCase("aBc") = "ABC"
    10.  
       
    11.  
      //大小写互转
    12.  
      StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
  • isAllUpperCase是否全部大写,isAllLowerCase是否全部小写
    1.  
      StringUtils.isAllLowerCase(" ") = false
    2.  
       
    3.  
      StringUtils.isAllLowerCase("abc") = true
    4.  
       
    5.  
      StringUtils.isAllLowerCase("abC") = false
    6.  
       
    7.  
      StringUtils.isAllLowerCase("ab c") = false
    8.  
       
    9.  
      StringUtils.isAllLowerCase("ab1c") = false
    10.  
       
    11.  
      StringUtils.isAllLowerCase("ab/c") = false

删除函数

StringUtils.remove(String str, char remove)

StringUtils.remove(String str, String remove)

StringUtils.removeEnd(String str, String remove)

StringUtils.removeEndIgnoreCase(String str, String remove)

StringUtils.removePattern(String source, String regex)

StringUtils.removeStart(String str, String remove)

StringUtils.removeStartIgnoreCase(String str, String remove)

StringUtils.deleteWhitespace(String str)

  • 具体例子
    1.  
      //删除字符
    2.  
      StringUtils.remove("queued", 'u') = "qeed"
    3.  
       
    4.  
      //删除字符串
    5.  
      StringUtils.remove("queued", "ue") = "qd"
    6.  
       
    7.  
      //删除结尾匹配的字符串
    8.  
      StringUtils.removeEnd("www.domain.com", ".com") = "www.domain"
    9.  
       
    10.  
      //删除结尾匹配的字符串,找都不到返回原字符串
    11.  
      StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com"
    12.  
       
    13.  
      //忽略大小写的
    14.  
      StringUtils.removeEndIgnoreCase("www.domain.com", ".COM") = "www.domain")
    15.  
       
    16.  
      //删除所有空白(好用)
    17.  
      StringUtils.deleteWhitespace("abc") = "abc"
    18.  
      StringUtils.deleteWhitespace(" ab c ") = "abc"

替换函数

replace(String text, String searchString, String replacement)

replace(String text, String searchString, String replacement, int max)

replaceChars(String str, char searchChar, char replaceChar)

replaceChars(String str, String searchChars, String replaceChars)

replaceEach(String text, String[] searchList, String[] replacementList)

replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)

replaceOnce(String text, String searchString, String replacement)

replacePattern(String source, String regex, String replacement)

overlay(String str,String overlay,int start,int end)

  • 例子
    1.  
      StringUtils.replace("aba", "a", "") = "b"
    2.  
      StringUtils.replace("aba", "a", "z") = "zbz"
    3.  
       
    4.  
      //数字就是替换个数,0代表不替换,1代表从开始数起第一个,-1代表全部替换
    5.  
      StringUtils.replace("abaa", "a", "", -1) = "b"
    6.  
      StringUtils.replace("abaa", "a", "z", 0) = "abaa"
    7.  
      StringUtils.replace("abaa", "a", "z", 1) = "zbaa"
    8.  
      StringUtils.replace("abaa", "a", "z", 2) = "zbza"
    9.  
      StringUtils.replace("abaa", "a", "z", -1) = "zbzz"
  • replaceEach是replace的增强版,搜索列表和替换长度必须一致,否则报IllegalArgumentException异常:
    1.  
      StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte"
    2.  
      StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "dcte"
    3.  
      StringUtils.replaceChars("dabcba", "bcd", "yzx") = "xayzya"
    4.  
      StringUtils.replaceChars("abcba", "bc", "y") = "ayya"

replaceChars原理图
  • replaceOnce只替换一次:
    1.  
      StringUtils.replaceOnce("aba", "a", "") = "ba"
    2.  
      StringUtils.replaceOnce("aba", "a", "z") = "zba"
    3.  
      StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte"
    4.  
      //这是一个非常奇怪的函数,本来自己料想结果应该是“dcte”的,可是结果居然是tcte,而dcte再替换一次就是tcte了。
    5.  
      StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "tcte"
  1.  
    StringUtils.overlay("abcdef", "zzzz", 2, 4) = "abzzzzef"
  2.  
    StringUtils.overlay("abcdef", "zzzz", 4, 2) = "abzzzzef"
  3.  
    StringUtils.overlay("abcdef", "zzzz", -1, 4) = "zzzzef"
  4.  
    StringUtils.overlay("abcdef", "zzzz", 2, 8) = "abzzzz"
  5.  
    StringUtils.overlay("abcdef", "zzzz", -2, -3) = "zzzzabcdef"
  6.  
    StringUtils.overlay("abcdef", "zzzz", 8, 10) = "abcdefzzzz"

反转函数

reverse(String str)

reverseDelimited(String str, char separatorChar)

例:

  1.  
    StringUtils.reverse("bat") = "tab"
  2.  
    StringUtils.reverseDelimited("a.b.c", 'x') = "a.b.c"
  3.  
    StringUtils.reverseDelimited("a.b.c", ".") = "c.b.a"

分隔合并函数

split(String str)

split(String str, char separatorChar)

split(String str, String separatorChars)

split(String str, String separatorChars, int max)

splitByCharacterType(String str)

splitByCharacterTypeCamelCase(String str)

splitByWholeSeparator(String str, String separator)

splitByWholeSeparator(String str, String separator, int max)

splitByWholeSeparatorPreserveAllTokens(String str, String separator)

splitByWholeSeparatorPreserveAllTokens(String str, String separator, int max)

splitPreserveAllTokens(String str)

splitPreserveAllTokens(String str, char separatorChar)

splitPreserveAllTokens(String str, String separatorChars)

splitPreserveAllTokens(String str, String separatorChars, int max)

例:

  1.  
    //用空白符做空格
  2.  
    StringUtils.split("abc def") = ["abc", "def"]
  3.  
     
  4.  
    StringUtils.split("abc def") = ["abc", "def"]
  5.  
     
  6.  
    StringUtils.split("a..b.c", '.') = ["a", "b", "c"]
  7.  
    //用字符分割
  8.  
    StringUtils.split("a:b:c", '.') = ["a:b:c"]
  9.  
    //0 或者负数代表没有限制
  10.  
    StringUtils.split("ab:cd:ef", ":", 0) = ["ab", "cd", "ef"]
  11.  
    //分割字符串 ,可以设定得到数组的长度,限定为2
  12.  
    StringUtils.split("ab:cd:ef", ":", 2) = ["ab", "cd:ef"]
  13.  
    //null也可以作为分隔
  14.  
    StringUtils.splitByWholeSeparator("ab de fg", null) = ["ab", "de", "fg"]
  15.  
    StringUtils.splitByWholeSeparator("ab de fg", null) = ["ab", "de", "fg"]
  16.  
    StringUtils.splitByWholeSeparator("ab:cd:ef", ":") = ["ab", "cd", "ef"]
  17.  
    StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-") = ["ab", "cd", "ef"]
  18.  
    //带有限定长度的分隔
  19.  
    StringUtils.splitByWholeSeparator("ab:cd:ef", ":", 2) = ["ab", "cd:ef"]

join(byte[] array,char separator)

join(Object[] array,char separator)等方法

join(Object[] array,char separator,int startIndex,int endIndex)

例:

  1.  
    //只有一个参数的join,简单合并在一起
  2.  
    StringUtils.join(["a", "b", "c"]) = "abc"
  3.  
    StringUtils.join([null, "", "a"]) = "a"
  4.  
    //null的话,就是把字符合并在一起
  5.  
    StringUtils.join(["a", "b", "c"], null) = "abc"
  6.  
    //从index为0到3合并,注意是排除3的
  7.  
    StringUtils.join([null, "", "a"], ',', 0, 3) = ",,a"
  8.  
    StringUtils.join(["a", "b", "c"], "--", 0, 3) = "a--b--c"
  9.  
    //从index为1到3合并,注意是排除3的
  10.  
    StringUtils.join(["a", "b", "c"], "--", 1, 3) = "b--c"
  11.  
    StringUtils.join(["a", "b", "c"], "--", 2, 3) = "c"

截取函数

substring(String str,int start)

substringAfter(String str,String separator)

substringBeforeLast(String str,String separator)

substringAfterLast(String str,String separator)

substringBetween(String str,String tag)

  1.  
    StringUtils.substring("abcdefg", 0) = "abcdefg"
  2.  
    StringUtils.substring("abcdefg", 2) = "cdefg"
  3.  
    StringUtils.substring("abcdefg", 4) = "efg"
  4.  
    //start>0表示从左向右, start<0表示从右向左, start=0则从左第一位开始
  5.  
    StringUtils.substring("abcdefg", -2) = "fg"
  6.  
    StringUtils.substring("abcdefg", -4) = "defg"
  7.  
     
  8.  
    //从第二个参数字符串开始截取,排除第二个字符串
  9.  
    StringUtils.substringAfter("abc", "a") = "bc"
  10.  
    StringUtils.substringAfter("abcba", "b") = "cba"
  11.  
    StringUtils.substringAfter("abc", "c") = ""
  12.  
     
  13.  
    //从最后一个字母出现开始截取
  14.  
    StringUtils.substringBeforeLast("abcba", "b") = "abc"
  15.  
    StringUtils.substringBeforeLast("abc", "c") = "ab"
  16.  
    StringUtils.substringBeforeLast("a", "a") = ""
  17.  
    StringUtils.substringBeforeLast("a", "z") = "a"
  18.  
     
  19.  
     
  20.  
    StringUtils.substringAfterLast("abc", "a") = "bc"
  21.  
    StringUtils.substringAfterLast("abcba", "b") = "a"
  22.  
    StringUtils.substringAfterLast("abc", "c") = ""
  23.  
     
  24.  
    StringUtils.substringBetween("tagabctag", null) = null
  25.  
    StringUtils.substringBetween("tagabctag", "") = ""
  26.  
    StringUtils.substringBetween("tagabctag", "tag") = "abc"

截取分析图:

截取分析图
  1.  
    // start>0&&end>0从左开始(包括左)到右结束(不包括右),
  2.  
    //start<0&&end<0从右开始(包括右),再向左数到end结束(包括end)
  3.  
    StringUtils.substring("abc", -2, -1) = "b"
  4.  
    //这个我至今还没弄明白
  5.  
    StringUtils.substring("abc", -4, 2) = "ab"

相似度函数

一个字符串可以通过增加一个字符,删除一个字符,替换一个字符得到另外一个字符串,假设,我们把从字符串A转换成字符串B,前面3种操作所执行的最少次数称为AB相似度.

getLevenshteinDistance(CharSequence s, CharSequence t)
getLevenshteinDistance(CharSequence s, CharSequence t, int threshold)
StringUtils.getLevenshteinDistance(“elephant”, “hippo”) = 7
StringUtils.getLevenshteinDistance(“hippo”, “elephant”) = 7

例:
//b替换为d
abc adc 度为 1
//ababababa去掉a,末尾加b
ababababa babababab 度为 2
abcd acdb 度为2

差异函数

difference(String str1,String str2)

  1.  
    //在str1中寻找str2中没有的的字符串,并返回
  2.  
    StringUtils.difference("", "abc") = "abc"
  3.  
    StringUtils.difference("abc", "") = ""
  4.  
    StringUtils.difference("abc", "abc") = ""
  5.  
    StringUtils.difference("abc", "ab") = ""
  6.  
    StringUtils.difference("ab", "abxyz") = "xyz"
  7.  
    StringUtils.difference("abcde", "abxyz") = "xyz"
  8.  
    StringUtils.difference("abcde", "xyz") = "xyz"

图片理解:

差异图片

缩短省略函数

abbreviate(String str, int maxWidth)

abbreviate(String str, int offset, int maxWidth)

abbreviateMiddle(String str, String middle, int length)

注意:

  • 字符串的长度小于或等于最大长度,返回该字符串。
  • 运算规律(substring(str, 0, max-3) + “…”)
  • 如果最大长度小于4,则抛出异常。
    1.  
      //(substring(str, 0, 6-3) + "...")
    2.  
      StringUtils.abbreviate("abcdefg", 6) = "abc..."
    3.  
      StringUtils.abbreviate("abcdefg", 7) = "abcdefg"
    4.  
      StringUtils.abbreviate("abcdefg", 8) = "abcdefg"
    5.  
      StringUtils.abbreviate("abcdefg", 4) = "a..."
    6.  
      StringUtils.abbreviate("abcdefg", 3) = IllegalArgumentException

匹配计数函数

countMatches(CharSequence str,char ch)

  1.  
    StringUtils.countMatches("abba", 0) = 0
  2.  
    StringUtils.countMatches("abba", 'a') = 2
  3.  
    StringUtils.countMatches("abba", 'b') = 2
  4.  
    StringUtils.countMatches("abba", 'x') = 0

删除空白函数

trim(String str)

trimToEmpty(String str)

trimToNull(String str)

deleteWhitespace(String str)

  1.  
    StringUtils.trim(" ") = ""
  2.  
    StringUtils.trim("abc") = "abc"
  3.  
    StringUtils.trim(" abc ") = "abc"
  4.  
    //空的话,返回null
  5.  
    StringUtils.trimToNull(" ") = null
  6.  
    StringUtils.trimToNull("abc") = "abc"
  7.  
    StringUtils.trimToNull(" abc ") = "abc"
  8.  
    StringUtils.trimToEmpty(" ") = ""
  9.  
    StringUtils.trimToEmpty("abc") = "abc"
  10.  
    StringUtils.trimToEmpty(" abc ") = "abc"

-注意这两者的区别。

  1.  
    StringUtils.deleteWhitespace("") = ""
  2.  
    StringUtils.deleteWhitespace("abc") = "abc"
  3.  
    StringUtils.deleteWhitespace(" ab c ") = "abc"

判断是否相等函数

equals(CharSequence cs1,CharSequence cs2)

equalsIgnoreCase(CharSequence str1, CharSequence str2)

  1.  
    StringUtils.equals("abc", null) = false
  2.  
    StringUtils.equals("abc", "abc") = true
  3.  
    StringUtils.equals("abc", "ABC") = false
  4.  
    //忽略大小写
  5.  
    StringUtils.equalsIgnoreCase("abc", null) = false
  6.  
    StringUtils.equalsIgnoreCase("abc", "abc") = true
  7.  
    StringUtils.equalsIgnoreCase("abc", "ABC") = true

默认字符函数

defaultString(String str)

defaultString(String str,String defaultStr)

  1.  
    StringUtils.defaultString("") = ""
  2.  
    StringUtils.defaultString("bat") = "bat"
  3.  
    StringUtils.defaultString("", "NULL") = ""
  4.  
    //如果第一个参数为空,这返回第二个默认参数
  5.  
    StringUtils.defaultString("bat", "NULL") = "bat"

填充居中函数

leftPad/rightPad(String str,int size)

leftPad(String str,int size,char padChar)

center(String str,int size)

center(String str,int size,char padChar)

repeat(char ch,int repeat)

repeat(String str,String separator,int repeat)

appendIfMissing(String str, CharSequence suffix, CharSequence… suffixes)

appendIfMissing(String str,CharSequence suffix,CharSequence… suffixes)

  1.  
    StringUtils.leftPad("bat", 3) = "bat"
  2.  
    //左填充,默认填充空
  3.  
    StringUtils.leftPad("bat", 5) = " bat"
  4.  
    StringUtils.leftPad("bat", 1) = "bat"
  5.  
    StringUtils.leftPad("bat", -1) = "bat"
  6.  
    //左填充,填充字符为z
  7.  
    StringUtils.leftPad("bat", 3, 'z') = "bat"
  8.  
    StringUtils.leftPad("bat", 5, 'z') = "zzbat"
  9.  
    StringUtils.leftPad("bat", 1, 'z') = "bat"
  10.  
    StringUtils.leftPad("bat", -1, 'z') = "bat"
  11.  
    //居中
  12.  
    StringUtils.center("ab", -1) = "ab"
  13.  
    StringUtils.center("ab", 4) = " ab "
  14.  
    StringUtils.center("abcd", 2) = "abcd"
  15.  
    StringUtils.center("a", 4) = " a
  16.  
    //居中,最后一个参数是填充字符或字符串
  17.  
    StringUtils.center("abcd", 2, ' ') = "abcd"
  18.  
    StringUtils.center("a", 4, ' ') = " a "
  19.  
    StringUtils.center("a", 4, 'y') = "yayy"
  20.  
    //重复字符串,第二个参数是重复次数
  21.  
    StringUtils.repeat("a", 3) = "aaa"
  22.  
    StringUtils.repeat("ab", 2) = "abab"
  23.  
    StringUtils.repeat("a", -2) = ""
  24.  
    //重复字符串,第二个参数是分割符,第三个参数是重复次数
  25.  
    StringUtils.repeat("", "x", 3) = "xxx"
  26.  
    StringUtils.repeat("?", ", ", 3) = "?, ?, ?"
  27.  
     
  28.  
    //
  29.  
    StringUtils.appendIfMissing("abcxyz", "xyz", "mno") = "abcxyz"
  30.  
    StringUtils.appendIfMissing("abcmno", "xyz", "mno") = "abcmno"
  31.  
    StringUtils.appendIfMissing("abcXYZ", "xyz", "mno") = "abcXYZxyz"
  32.  
    StringUtils.appendIfMissing("abcMNO", "xyz", "mno") = "abcMNOxyz"

是否包含函数

containsOnly(CharSequence cs,char… valid)

containsNone(CharSequence cs,char… searchChars)

startsWith(CharSequence str,CharSequence prefix)

startsWithIgnoreCase(CharSequence str,CharSequence prefix)

startsWithAny(CharSequence string,CharSequence… searchStrings)

  • 例子
    1.  
      //判断字符串中所有字符,是否都是出自参数2中
    2.  
      StringUtils.containsOnly("ab", "") = false
    3.  
      StringUtils.containsOnly("abab", "abc") = true
    4.  
      StringUtils.containsOnly("ab1", "abc") = false
    5.  
      StringUtils.containsOnly("abz", "abc") = false
    6.  
       
    7.  
      //判断字符串中所有字符,都不在参数2中。
    8.  
      StringUtils.containsNone("abab", 'xyz') = true
    9.  
      StringUtils.containsNone("ab1", 'xyz') = true
    10.  
      StringUtils.containsNone("abz", 'xyz') = false
    11.  
       
    12.  
      //判断字符串是否以第二个参数开始
    13.  
      StringUtils.startsWith("abcdef", "abc") = true
    14.  
      StringUtils.startsWith("ABCDEF", "abc") = false

索引下标函数

indexOf(CharSequence seq,CharSequence searchSeq)

indexOf(CharSequence seq,CharSequence searchSeq,int startPos)

indexOfIgnoreCase/lastIndexOfIgnoreCase(CharSequence str,CharSequence searchStr)

lastIndexOf(CharSequence seq,int searchChar)

    1.  
      //返回第二个参数开始出现的索引值
    2.  
      StringUtils.indexOf("aabaabaa", "a") = 0
    3.  
      StringUtils.indexOf("aabaabaa", "b") = 2
    4.  
      StringUtils.indexOf("aabaabaa", "ab") = 1
    5.  
       
    6.  
      //从第三个参数索引开始找起,返回第二个参数开始出现的索引值
    7.  
      StringUtils.indexOf("aabaabaa", "a", 0) = 0
    8.  
      StringUtils.indexOf("aabaabaa", "b", 0) = 2
    9.  
      StringUtils.indexOf("aabaabaa", "ab", 0) = 1
    10.  
      StringUtils.indexOf("aabaabaa", "b", 3) = 5
    11.  
      StringUtils.indexOf("aabaabaa", "b", 9) = -1
    12.  
      //返回第二个参数出现的最后一个索引值
    13.  
      StringUtils.lastIndexOf("aabaabaa", 'a') = 7
    14.  
      StringUtils.lastIndexOf("aabaabaa", 'b') = 5
    15.  
       
    16.  
      StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A", 8) = 7
    17.  
      StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 8) = 5
    18.  
      StringUtils.lastIndexOfIgnoreCase("aabaabaa", "AB", 8) = 4
    19.  
      StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 9) = 5

StringUtils类API及使用方法详解的更多相关文章

  1. Java的Graphics类进行绘图的方法详解

    Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力. Graphics类提供基本的几何图形绘制方法,主要有:画线段.画矩形.画圆.画带颜色的图形.画椭圆.画圆弧.画多边形等 ...

  2. android MediaPlayer API大全已经方法详解(转载)

    通过这张图,我们可以知道一个MediaPlayer对象有以下的状态: 1)当一个MediaPlayer对象被刚刚用new操作符创建或是调用了reset()方法后,它就处于Idle状态.当调用了rele ...

  3. Android为TV端助力 MediaPlayer API大全已经方法详解(转载)

    通过这张图,我们可以知道一个MediaPlayer对象有以下的状态: 1)当一个MediaPlayer对象被刚刚用new操作符创建或是调用了reset()方法后,它就处于Idle状态.当调用了rele ...

  4. 86.QuerySet API常用的方法详解:get方法

    get方法的查询条件只能有一条数据满足,如果匹配到多条数据都满足,就会报错:如果没有匹配到满足条件的数据,也会报错. 示例代码如下: from django.http import HttpRespo ...

  5. 序列内置方法详解(string/list/tuple)

    一.常用方法集合 1.1.string,字符串常用方法 以下举例是python2.7测试: 函数名称 作用 举例 str.capitalize() 字符串第一个字符如果是字母,则把字母替换为大写字母. ...

  6. Delphi中TStringList类常用属性方法详解

    TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...

  7. Python的Django框架中forms表单类的使用方法详解

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  8. ES6 类(Class)基本用法和静态属性+方法详解

    原文地址:http://blog.csdn.net/pcaxb/article/details/53759637 ES6 类(Class)基本用法和静态属性+方法详解 JavaScript语言的传统方 ...

  9. Java AtomicInteger类的使用方法详解_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Samp ...

随机推荐

  1. 使用注解实现Spring的声明式事务管理

    使用注解实现Spring的声明式事务管理,更加简单! 步骤: 1) 必须引入Aop相关的jar文件 2) bean.xml中指定注解方式实现声明式事务管理以及应用的事务管理器类 3)在需要添加事务控制 ...

  2. Hibernate3核心API-SessionFactory接口

    Configuration对象根据当前的配置信息生成 SessionFactory 对象.SessionFactory 对象一旦构造完毕,即被赋予特定的配置信息(SessionFactory 对象中保 ...

  3. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-2.申请微信支付介绍和不同场景的支付方式

    笔记 2.申请微信支付介绍和不同场景的支付方式         简介:介绍微信商户平台,支付方式和使用场景,申请微信支付流程                  1.什么是微信商户平台:        ...

  4. ZUK Z2 AospExtended-v6.7 Android 9.0可用的谷歌相机Mod.md

    目录 参考资料 系统版本: AospExtended-v6.7-z2_plus-20190821-1940-OFFICIAL.zip cstark27 ×PXv4.1.1_GoogleCamera_7 ...

  5. JAVA 基础编程练习题2 【程序 2 输出素数】

    2 [程序 2 输出素数] 题目:判断 101-200 之间有多少个素数,并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数, ...

  6. JavaScript之屏幕上下左右滑动监听

    前言 存在这么一个需求,根据用户在屏幕不同的滑动方向(上.下.左.右),使用js脚本判断出不同的滑动行为,更新网页为不同的界面. 源码 参考了博文[1]的源码,但由于存在一些漏洞,比如:上下滑动事件监 ...

  7. .Net Core 2.*+ InfluxDB+Grafana+App Metrics实时性能监控

    前言 .net core 2.* 实施性能监控 这个工具其实给运维 大大们用起来是更爽的.但是Grafana现在还没有找到中文版. 本文需要了解的相关技术与内容: InfluxDb(分布式时序数据库, ...

  8. vue的双向绑定和依赖收集

    在掘金上买了一个关于解读vue源码的小册,因为是付费的,所以还比较放心 在小册里看到了关于vue双向绑定和依赖收集的部分,总感觉有些怪怪的,然后就自己跟着敲了一遍. 敲完后,发现完全无法运行,  坑啊 ...

  9. 【VS开发】【C/C++开发】传递双重指针申请内存,典型用法

    传递双重指针申请内存,典型用法 指针参数是如何传递内存的? 如果函数的参数是一个指针,不要指望用该指针去申请动态内存.如下示例中,Test函数的语句GetMemory(str, 100)并没有使str ...

  10. Linux配置文件的修改

    在很多时候,我们需要对Linux的配置文件进行修改.此时就涉及到了不同Linux发行版的修改配置问题.下面就以主流的几个操作系统(Unix:Solaris,Linux:Ubuntu,Redhat)作为 ...