亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

開(kāi)源工具 — Apache Commons Lang(2)

系統(tǒng) 1923 0

很多情況下我們都需要將字符串轉(zhuǎn)換為數(shù)字,或判斷字符串是否是數(shù)字等等操作,NumberUtils幫助我們方便的從字符串轉(zhuǎn)換為數(shù)字,在不使用NumberUtils情況下,若然字符串值不是數(shù)字,使用Integer.parseInt()時(shí)會(huì)報(bào)出java.lang.NumberFormatException,但在NumberUtils的情況下,只會(huì)返回0而不產(chǎn)生錯(cuò)誤 ?

????? NumberUtils? and? RandomUtils ?

Java代碼 ? ?
  1. public ? class ?TestMain?{??
  2. ???? public ? static ? void ?main(String[]?args)? throws ?IllegalAccessException?{??
  3. ????????String?str?=? "12.7" ;??
  4. ???????? /* ?
  5. ?????????*?org.apache.commons.lang.NumberUtils已經(jīng)被棄用, ?
  6. ?????????*?注意要引入org.apache.commons.lang.math.NumberUtils ?
  7. ?????????*/ ??
  8. ??
  9. ???????? //?判斷字符串是否為整數(shù) ??
  10. ????????NumberUtils.isDigits(str);??
  11. ??
  12. ???????? //?判斷字符串是否為數(shù)字 ??
  13. ????????NumberUtils.isNumber(str);??
  14. ??
  15. ???????? //?獲取參數(shù)中最大的值,支持傳入數(shù)組 ??
  16. ????????NumberUtils.max( 10 ,? 20 ,? 30 );??
  17. ??
  18. ???????? //?獲取參數(shù)中最小的值,支持傳入數(shù)組 ??
  19. ????????NumberUtils.min( 10 ,? 20 ,? 30 );??
  20. ??
  21. ???????? //?將字符串轉(zhuǎn)換為int類(lèi)型,支持float,long,short等數(shù)值類(lèi)型 ??
  22. ????????NumberUtils.toInt(str);??
  23. ??
  24. ???????? //?通過(guò)字符串創(chuàng)建BigDecimal類(lèi)型?,支持int,float,long等數(shù)值 ??
  25. ????????NumberUtils.createBigDecimal(str);??
  26. ??
  27. ??
  28. ???????? /* ?
  29. ?????????*?RandomUtils幫助我們產(chǎn)生隨機(jī)數(shù),不止是數(shù)字類(lèi)型?,? ?
  30. ?????????*?連boolean類(lèi)型都可以通過(guò)RandomUtils產(chǎn)生 ?
  31. ?????????*/ ??
  32. ????????RandomUtils.nextBoolean();??
  33. ????????RandomUtils.nextDouble();??
  34. ????????RandomUtils.nextLong();??
  35. ???????? //?注意這里傳入的參數(shù)不是隨機(jī)種子,而是在0~1000之間產(chǎn)生一位隨機(jī)數(shù) ??
  36. ????????RandomUtils.nextInt( 1000 );??
  37. ??
  38. ????}??
  39. }??
Java代碼 ? ? 收藏代碼
  1. public ? class ?TestMain?{??
  2. ???? public ? static ? void ?main(String[]?args)? throws ?IllegalAccessException?{??
  3. ????????String?str?=? "12.7" ;??
  4. ???????? /* ?
  5. ?????????*?org.apache.commons.lang.NumberUtils已經(jīng)被棄用, ?
  6. ?????????*?注意要引入org.apache.commons.lang.math.NumberUtils ?
  7. ?????????*/ ??
  8. ??
  9. ???????? //?判斷字符串是否為整數(shù) ??
  10. ????????NumberUtils.isDigits(str);??
  11. ??
  12. ???????? //?判斷字符串是否為數(shù)字 ??
  13. ????????NumberUtils.isNumber(str);??
  14. ??
  15. ???????? //?獲取參數(shù)中最大的值,支持傳入數(shù)組 ??
  16. ????????NumberUtils.max( 10 ,? 20 ,? 30 );??
  17. ??
  18. ???????? //?獲取參數(shù)中最小的值,支持傳入數(shù)組 ??
  19. ????????NumberUtils.min( 10 ,? 20 ,? 30 );??
  20. ??
  21. ???????? //?將字符串轉(zhuǎn)換為int類(lèi)型,支持float,long,short等數(shù)值類(lèi)型 ??
  22. ????????NumberUtils.toInt(str);??
  23. ??
  24. ???????? //?通過(guò)字符串創(chuàng)建BigDecimal類(lèi)型?,支持int,float,long等數(shù)值 ??
  25. ????????NumberUtils.createBigDecimal(str);??
  26. ??
  27. ??
  28. ???????? /* ?
  29. ?????????*?RandomUtils幫助我們產(chǎn)生隨機(jī)數(shù),不止是數(shù)字類(lèi)型?,? ?
  30. ?????????*?連boolean類(lèi)型都可以通過(guò)RandomUtils產(chǎn)生 ?
  31. ?????????*/ ??
  32. ????????RandomUtils.nextBoolean();??
  33. ????????RandomUtils.nextDouble();??
  34. ????????RandomUtils.nextLong();??
  35. ???????? //?注意這里傳入的參數(shù)不是隨機(jī)種子,而是在0~1000之間產(chǎn)生一位隨機(jī)數(shù) ??
  36. ????????RandomUtils.nextInt( 1000 );??
  37. ??
  38. ????}??
  39. }??



????? 在開(kāi)發(fā)當(dāng)中字符串的使用和操作時(shí)最為頻繁的,而null的字符串經(jīng)常讓我們報(bào)出NullPointerException,在使用StringUtils后,將不需要為字符串的null值而煩惱,卻又提供了更多的操作讓我們更方便的操作字符串 ?


????? StringUtils ?

Java代碼 ? ?
  1. public ? class ?TestMain?{??
  2. ???? public ? static ? void ?main(String[]?args)? throws ?IllegalAccessException?{??
  3. ????????String?str?=? "Hello?World" ;??
  4. ???????? /* ?
  5. ?????????*?由于StringUtils擁有100+的方法,筆者不逐一列舉用法, ?
  6. ?????????*?只列舉筆者認(rèn)為常用的或筆者使用過(guò)的 ?
  7. ?????????*/ ??
  8. ??
  9. ???????? //?isEmpty和isBlank的區(qū)別在于isEmpty不會(huì)忽略空格, ??
  10. ???????? //?"?"<--對(duì)于這樣的字符串isEmpty會(huì)認(rèn)為不是空, ??
  11. ???????? //?而isBlank會(huì)認(rèn)為是空,isBlank更常用 ??
  12. ????????StringUtils.isEmpty(str);??
  13. ????????StringUtils.isNotEmpty(str);??
  14. ????????StringUtils.isBlank(str);??
  15. ????????StringUtils.isNotBlank(str);??
  16. ??
  17. ??
  18. ???????? //?strip??????-->?去除兩端的aa ??
  19. ???????? //?stripStart?-->?去除開(kāi)始位置的hell ??
  20. ???????? //?stripEnd???-->?去除結(jié)尾位置的orld ??
  21. ????????StringUtils.strip(str,? "aa" );??
  22. ????????StringUtils.stripStart(str,? "hell" );??
  23. ????????StringUtils.stripEnd(str,? "orld" );??
  24. ??
  25. ??
  26. ???????? //?返回字符串在第三次出現(xiàn)A的位置 ??
  27. ????????StringUtils.ordinalIndexOf(str,? "A" ,? 3 );??
  28. ??
  29. ??
  30. ???????? //?獲取str?開(kāi)始為hello結(jié)尾為orld中間的字符串 ??
  31. ???????? //?注意此方法返回字符串??????-->substringBetween ??
  32. ???????? //?注意此方法返回字符串?dāng)?shù)組(多了個(gè)s)?-->?substringsBetween ??
  33. ????????StringUtils.substringBetween(str,? "hell" ,? "orld" );??
  34. ????????StringUtils.substringsBetween(str,? "hell" ,? "orld" );??
  35. ??
  36. ??
  37. ???????? //?重復(fù)字符串,第二種重載形式為在重復(fù)中用hahah拼接 ??
  38. ????????StringUtils.repeat(str,? 3 );??
  39. ????????StringUtils.repeat(str,? "hahah" ,? 2 );??
  40. ??
  41. ??
  42. ???????? //?統(tǒng)計(jì)參數(shù)2在字符串中出現(xiàn)的次數(shù) ??
  43. ????????StringUtils.countMatches(str,? "l" );??
  44. ??
  45. ??
  46. ???????? //?判斷字符串是否全小寫(xiě)或大寫(xiě) ??
  47. ????????StringUtils.isAllLowerCase(str);??
  48. ????????StringUtils.isAllUpperCase(str);??
  49. ??
  50. ??
  51. ???????? //?isAlpha????????-->?全部由字母組成返回true ??
  52. ???????? //?isNumeric??????-->全部由數(shù)字組成返回true ??
  53. ???????? //?isAlphanumeric?-->全部由字母或數(shù)字組成返回true ??
  54. ???????? //?isAlphaSpace???-->全部由字母或空格組成返回true ??
  55. ???????? //?isWhitespace???-->全部由空格組成返回true ??
  56. ????????StringUtils.isAlpha(str);??
  57. ????????StringUtils.isNumeric(str);??
  58. ????????StringUtils.isAlphanumeric(str);??
  59. ????????StringUtils.isAlphaSpace(str);??
  60. ????????StringUtils.isWhitespace(str);??
  61. ??
  62. ??
  63. ???????? //?縮進(jìn)字符串,第二參數(shù)最低為?4,要包含... ??
  64. ???????? //?現(xiàn)在Hello?World輸出為H... ??
  65. ????????StringUtils.abbreviate(str,? 4 );??
  66. ??
  67. ??
  68. ???????? //?首字母大寫(xiě)或小寫(xiě) ??
  69. ????????StringUtils.capitalize(str);??
  70. ????????StringUtils.uncapitalize(str);??
  71. ??
  72. ??
  73. ???????? //?將字符串?dāng)?shù)組轉(zhuǎn)變?yōu)橐粋€(gè)字符串,通過(guò)","拼接,支持傳入iterator和collection ??
  74. ????????StringUtils.join( new ?String[]?{? "Hello" ,? "World" ?},? "," );??
  75. ??
  76. ??
  77. ??
  78. ???????? /* ?
  79. ?????????*?經(jīng)常性要把后臺(tái)的字符串傳遞到前提作為html代碼進(jìn)行解釋, ?
  80. ?????????*?可以使用以下方法進(jìn)行轉(zhuǎn)換,以下方法輸出為 ?
  81. ?????????*?<p>Hello</p> ?
  82. ?????????*/ ??
  83. ????????StringEscapeUtils.escapeHtml("Hello??
  84. ");??
  85. ????}??
  86. }??
Java代碼 ? ? 收藏代碼
  1. public ? class ?TestMain?{??
  2. ???? public ? static ? void ?main(String[]?args)? throws ?IllegalAccessException?{??
  3. ????????String?str?=? "Hello?World" ;??
  4. ???????? /* ?
  5. ?????????*?由于StringUtils擁有100+的方法,筆者不逐一列舉用法, ?
  6. ?????????*?只列舉筆者認(rèn)為常用的或筆者使用過(guò)的 ?
  7. ?????????*/ ??
  8. ??
  9. ???????? //?isEmpty和isBlank的區(qū)別在于isEmpty不會(huì)忽略空格, ??
  10. ???????? //?"?"<--對(duì)于這樣的字符串isEmpty會(huì)認(rèn)為不是空, ??
  11. ???????? //?而isBlank會(huì)認(rèn)為是空,isBlank更常用 ??
  12. ????????StringUtils.isEmpty(str);??
  13. ????????StringUtils.isNotEmpty(str);??
  14. ????????StringUtils.isBlank(str);??
  15. ????????StringUtils.isNotBlank(str);??
  16. ??
  17. ??
  18. ???????? //?strip??????-->?去除兩端的aa ??
  19. ???????? //?stripStart?-->?去除開(kāi)始位置的hell ??
  20. ???????? //?stripEnd???-->?去除結(jié)尾位置的orld ??
  21. ????????StringUtils.strip(str,? "aa" );??
  22. ????????StringUtils.stripStart(str,? "hell" );??
  23. ????????StringUtils.stripEnd(str,? "orld" );??
  24. ??
  25. ??
  26. ???????? //?返回字符串在第三次出現(xiàn)A的位置 ??
  27. ????????StringUtils.ordinalIndexOf(str,? "A" ,? 3 );??
  28. ??
  29. ??
  30. ???????? //?獲取str?開(kāi)始為hello結(jié)尾為orld中間的字符串 ??
  31. ???????? //?注意此方法返回字符串??????-->substringBetween ??
  32. ???????? //?注意此方法返回字符串?dāng)?shù)組(多了個(gè)s)?-->?substringsBetween ??
  33. ????????StringUtils.substringBetween(str,? "hell" ,? "orld" );??
  34. ????????StringUtils.substringsBetween(str,? "hell" ,? "orld" );??
  35. ??
  36. ??
  37. ???????? //?重復(fù)字符串,第二種重載形式為在重復(fù)中用hahah拼接 ??
  38. ????????StringUtils.repeat(str,? 3 );??
  39. ????????StringUtils.repeat(str,? "hahah" ,? 2 );??
  40. ??
  41. ??
  42. ???????? //?統(tǒng)計(jì)參數(shù)2在字符串中出現(xiàn)的次數(shù) ??
  43. ????????StringUtils.countMatches(str,? "l" );??
  44. ??
  45. ??
  46. ???????? //?判斷字符串是否全小寫(xiě)或大寫(xiě) ??
  47. ????????StringUtils.isAllLowerCase(str);??
  48. ????????StringUtils.isAllUpperCase(str);??
  49. ??
  50. ??
  51. ???????? //?isAlpha????????-->?全部由字母組成返回true ??
  52. ???????? //?isNumeric??????-->全部由數(shù)字組成返回true ??
  53. ???????? //?isAlphanumeric?-->全部由字母或數(shù)字組成返回true ??
  54. ???????? //?isAlphaSpace???-->全部由字母或空格組成返回true ??
  55. ???????? //?isWhitespace???-->全部由空格組成返回true ??
  56. ????????StringUtils.isAlpha(str);??
  57. ????????StringUtils.isNumeric(str);??
  58. ????????StringUtils.isAlphanumeric(str);??
  59. ????????StringUtils.isAlphaSpace(str);??
  60. ????????StringUtils.isWhitespace(str);??
  61. ??
  62. ??
  63. ???????? //?縮進(jìn)字符串,第二參數(shù)最低為?4,要包含... ??
  64. ???????? //?現(xiàn)在Hello?World輸出為H... ??
  65. ????????StringUtils.abbreviate(str,? 4 );??
  66. ??
  67. ??
  68. ???????? //?首字母大寫(xiě)或小寫(xiě) ??
  69. ????????StringUtils.capitalize(str);??
  70. ????????StringUtils.uncapitalize(str);??
  71. ??
  72. ??
  73. ???????? //?將字符串?dāng)?shù)組轉(zhuǎn)變?yōu)橐粋€(gè)字符串,通過(guò)","拼接,支持傳入iterator和collection ??
  74. ????????StringUtils.join( new ?String[]?{? "Hello" ,? "World" ?},? "," );??
  75. ??
  76. ??
  77. ??
  78. ???????? /* ?
  79. ?????????*?經(jīng)常性要把后臺(tái)的字符串傳遞到前提作為html代碼進(jìn)行解釋, ?
  80. ?????????*?可以使用以下方法進(jìn)行轉(zhuǎn)換,以下方法輸出為 ?
  81. ?????????*?<p>Hello</p> ?
  82. ?????????*/ ??
  83. ????????StringEscapeUtils.escapeHtml("Hello??
  84. ");??
  85. ????}??
  86. }??



????? DateUtils and DateFormatUtils ?

Java代碼 ? ?
  1. public ? class ?TestMain?{??
  2. ???? public ? static ? void ?main(String[]?args)? throws ?IllegalAccessException?{??
  3. ????????Date?day1?=? new ?Date();??
  4. ???????? /* ?
  5. ?????????*?由于Aache的DateUtils和DateFormatUtils并沒(méi)有Joda強(qiáng)大, ?
  6. ?????????*??所以在這里只作簡(jiǎn)單的示例 ?
  7. ?????????*/ ??
  8. ??????????
  9. ???????? //?增加一天 ??
  10. ????????DateUtils.addDays(day1,? 1 );??
  11. ???????? //?減少一年 ??
  12. ????????DateUtils.addYears(day1,?- 1 );??
  13. ??
  14. ???????? //?格式化時(shí)間,第三參數(shù)為國(guó)際化,表示按美國(guó)時(shí)間顯示 ??
  15. ????????DateFormatUtils.format(day1,? "yyyy-MM-dd" ,?Locale.UK);??
  16. ??
  17. ????}??
  18. }??
Java代碼 ? ? 收藏代碼
  1. public ? class ?TestMain?{??
  2. ???? public ? static ? void ?main(String[]?args)? throws ?IllegalAccessException?{??
  3. ????????Date?day1?=? new ?Date();??
  4. ???????? /* ?
  5. ?????????*?由于Aache的DateUtils和DateFormatUtils并沒(méi)有Joda強(qiáng)大, ?
  6. ?????????*??所以在這里只作簡(jiǎn)單的示例 ?
  7. ?????????*/ ??
  8. ??????????
  9. ???????? //?增加一天 ??
  10. ????????DateUtils.addDays(day1,? 1 );??
  11. ???????? //?減少一年 ??
  12. ????????DateUtils.addYears(day1,?- 1 );??
  13. ??
  14. ???????? //?格式化時(shí)間,第三參數(shù)為國(guó)際化,表示按美國(guó)時(shí)間顯示 ??
  15. ????????DateFormatUtils.format(day1,? "yyyy-MM-dd" ,?Locale.UK);??
  16. ??
  17. ????}??
  18. }??



總結(jié): ?
????? commons工具包很多開(kāi)源組織都有提供,例如google,spring,apache都有各自的工具包,有眾多的選擇,但最終的目的只是為了方便我們程序的開(kāi)發(fā)和維護(hù),簡(jiǎn)化我們編寫(xiě)一些常用的邏輯,提升我們開(kāi)發(fā)的效率,從而達(dá)到活在開(kāi)源,善用開(kāi)源

開(kāi)源工具 — Apache Commons Lang(2)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产精品资源在线观看 | a级片免费在线播放 | 亚洲字幕 | 日韩精品免费一区二区三区 | 日本不卡高清免费v日本 | 97高清国语自产拍中国大陆 | 亚洲五月综合网色九月色 | 国产精品第一页爽爽影院 | 国产成人三级 | 特黄日韩免费一区二区三区 | 四虎精品永久在线网址 | 亚洲国产精品一区二区久久hs | 在线播放亚洲视频 | 日日射天天干 | 在线激情网址 | 国产精品午夜波多野结衣性色 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 久久高清一级毛片 | 中文字幕免费在线看线人动作大片 | 欧美久久xxxxxx影院 | 久久久成人影院 | 操你妹影院 | 日本午夜免费理论片 | 日韩一区二区三区在线观看 | 亚洲欧美综合一区二区三区四区 | 久久国产香蕉一区精品 | 久久视频在线免费观看 | 天天插天天舔 | 老司机激情影院 | 亚洲精品久久99久久 | 色激情综合| 中文字幕一区二区三区 精品 | 99热久久国产这里是精品 | 91亚洲精品国产自在现线 | 精品中文字幕一区在线 | 热热99| 亚洲一区二区三区高清 不卡 | 一a一级片 | 九九热线精品视频6一 | 夜夜狠操| 国产精品麻豆 |