当前位置: 首页 > news >正文

蓟县做网站公司产品设计考研学校推荐

蓟县做网站公司,产品设计考研学校推荐,网站开发的岗位职责,保定网站建设公司排名忘记是在去年还是前年的时候遇到一个需要检测所传字符串是否为数字的场景#xff0c;开始使用 NumberUtils.isNumber() 提示错误 #xff0c;没有解决问题#xff08;可能是因为依赖版本导致#xff09;#xff0c;最后使用的是StringUtils.isNumeric()#xff0c;当时关…忘记是在去年还是前年的时候遇到一个需要检测所传字符串是否为数字的场景开始使用 NumberUtils.isNumber() 提示错误 没有解决问题可能是因为依赖版本导致最后使用的是StringUtils.isNumeric()当时关于这个问题场景的Bolog也放到了草稿箱中一直保留至今才抽时间补充起来… 其实问题早已解决但是不影响我们再好好读一下 StringUtils、NumberUtils源码以便在更多场景中活学活用 触发场景基础了解StringUtils判空 isEmpty空、isNotEmpty非空判空 isBlank空、isNotBlank非空- 过滤空格过滤、去除 strip、stripToEmpty、stripStart、stripToNull、stripToEmpty 等去空 trim、trimToNull、trimToEmpty判断 是否为数字 isNumeric、isNumericSpaceNumberUtils俩数比较获取 最大值、最小值判断 字符串是否为数字、是否全为数字类型创建 createInteger、createDouble 、createLong等类型转换 toInt、toDouble、toLong等触发场景 当时所处理场景 Java、Android工具整理 - 单位换算需注意 当时调用的StringUtils是alipay封装的 基础了解 其实不论是StringUtils还是NumberUtils 都是 org.apache.commons.lang3 提供的工具类依赖引用 implementation org.apache.commons:commons-lang3:3.9 build.gradle implementation org.apache.commons:commons-lang3:3.9org.apache.commons.lang3 StringUtils StringUtils官方文档 导入包import org.apache.commons.lang3.StringUtils; 其实在学习源码中你会发现可以很便捷的找到方法同时这些方法的一些实际使用都有标明示例 判空 isEmpty空、isNotEmpty非空 开发中isEmpty、isNotEmpty 使用非常频繁正好看看源码感觉看过后都没必要介绍了... isEmpty 判断条件以 null 或 String长度为标准 StringUtils.isEmpty(null) trueStringUtils.isEmpty() trueStringUtils.isEmpty( ) false //内部空格默认 length()1故为falseStringUtils.isEmpty(bob) falseStringUtils.isEmpty( bob ) falseisNotEmpty内部实现直接是 !isEmpty简而言之就是 只要不为null 或 String.length() 0 即为非空 StringUtils.isNotEmpty(null) falseStringUtils.isNotEmpty() falseStringUtils.isNotEmpty( ) trueStringUtils.isNotEmpty(bob) trueStringUtils.isNotEmpty( bob ) true判空 isBlank空、isNotBlank非空- 过滤空格 这俩个API好像使用的频率稍微低一些于上者的区别主要在于对 场景的定义 对应Api调用时的示例都有我们主要看一下isBlank内部实现首先它具备了isEmpty的判断条件同时也会判断是否存在空格这里判断语句应该代表着如果不为空格就返回false为空格的话也是返回true关于 isNotBlank 的实现直接调用的 !isBlank ~ 过滤、去除 strip、stripToEmpty、stripStart、stripToNull、stripToEmpty 等 在开发中有一个很常见的场景经常需要去除字符串中的空格或者某些数据~ StringUtils.strip 提供的一些方法 stripToNull、stripToEmpty 共同点都调用了strip(str, null) 当数据为空或null时有一些不同点 stripToNull 判断字符串为空时返回的值为nullstripToEmpty 判断字符串为空时返回的值为 找点不足只能去除前后空格字符串中的间的空格无法去除 strip 当需要过滤特定数据或空串时可直接使用strip方法第二个参数为需要过滤的数据 找些不足 无筛选条件下及为null 或 首尾空格都可以去除有筛选条件下优先去除筛选数据空格可能会残留如果有需要可以二次调用特意除去空格当过滤数据位于其余数据中可能会出现无法筛选的情况类似以下场景 StringUtils.strip( abcyx, xyz) // 输出 abc StringUtils.strip( abycyx, xyz) // 输出 abyc从strip 方法可以看到stripStart、stripEnd 有兴趣的可以稍微看一下 内部一个是正序过滤一个是倒序过滤过滤场景也是一个注重头部一个注重尾部 stripStart stripEnd 去空 trim、trimToNull、trimToEmpty 其实 trim 和 strip 有些地方还是挺相同的都可以去除字符串中首位空格相比而言trim功能能独立一些strip扩展性多一些 通过 StringUtils.trim查看相关API trim当数据为null、空字符串串、仅有空格字符串根据传值返回 null、、期望值 我自己试了一下 a b c 果然是不支持去除中间空格的 StringUtils.trim()) //输出StringUtils.trim( )) //输出StringUtils.trim( abc )) //输出abcStringUtils.trim( a b c ) //输出a b c稍微注意下 StringUtils.trim(null) 正常开发中在它上一层应该是已经抛去null场景了假设遇到需要关注下以下问题 这种写法一般会导致程序奔溃应该是空指针异常 var trim StringUtils.trim(null)Log.e(tag, trim.toString())如果想在这种场景使用的话可以写个方法默认返回如下 var trim StringUtils.trim(null)if (StringUtils.isEmpty(trim)) trim Log.e(tag, trim.toString())trimToNull、trimToEmpty 当数据为null、空字符串串、仅有空格字符串时返回值有所不同 trimToNull 返回的值为nulltrimToEmpty 返回的值为 trimToNull当数据为null、空字符串串、仅有空格字符串都会返回 null trimToEmpty当数据为null、空字符串串、仅有空格字符串都会返回 判断 是否为数字 isNumeric、isNumericSpace isNumeric 只有纯整数才会返回true其余类型均为false例如浮点型、正负数等 假设你需要判断是否为数字及整数、小数的话可以用 NumberUtils.isCreatable() isNumericSpace 通过源码可以发现是在isNumeric的基础上过滤了空串支持以下场景可以 StringUtils.isNumeric(10000).toString() //输出trueStringUtils.isNumericSpace(10 000).toString() //输出trueStringUtils.isNumericSpace(10 00 0 ).toString() //输出trueNumberUtils NumberUtils官方文档导入包import org.apache.commons.lang3.math.NumberUtils; 有兴趣的可以直接跳 NumberUtils 类通过 CtrlF12 查看方法 俩数比较 compare 只能比较俩个数值如果涉及多数值比较可看看max、min满不满足需求 示例 NumberUtils.compare(1, 2); // -1 参数1比参数2大返回1否则返回-1通过源码可证明 参数1比参数2大返回1否则返回-1 获取 最大值、最小值 不论是最大值还是最小值都有重载方法可以传入一个数组或者是3个数值 最小值 示例 NumberUtils.min(new int[]{3, 5, 9})); // 3NumberUtils.min(3, 1, 4)); // 1最大值 示例 NumberUtils.max(new int[]{3, 5, 9}); // 9NumberUtils.max(3, 1, 4); // 4判断 字符串是否为数字、是否全为数字 isCreatable 检查字符串是否为数字 isCreatable 最新isNumber 过时方法 NumberUtils.isCreatable(3.4); // trueNumberUtils.isNumber(123); // true·isDigits 判断字符串中是否全为数字 NumberUtils.isDigits(0000000000.596); // falseNumberUtils.isDigits(0000000000596); // true类型创建 createInteger、createDouble 、createLong等 Api含义createInteger通过字符串创建IntegercreateLong通过字符串创建LongcreateFloat通过字符串创建FloatcreateDouble通过字符串创建DoublecreateNumber通过字符串创建NumbercreateBigInteger通过字符串创建BigIntegercreateBigDecimal通过字符串创建BigDecimal类型支持long、int、float、double、number等数值 As 智能提示 NumberUtils NumberUtils.createInteger(11)NumberUtils.createDouble(10)等同于 Java Integer.parseInt(11);Double.parseDouble(10);等同于 KtKt自带类型推导使用便捷 11.toInt()10.toDouble()Kt的to类型其内部源码也是封装了对应的扩展函数实现也是用的Java的parse类型实现方式 类型转换 toInt、toDouble、toLong等 以 toInt 为例 As 智能提示 如果传空串返回1否则字符串转换为Int值 NumberUtils.toInt(10,1);通过toInt源码可以发现 to类型方法都是通过Java的parse类型转换只是针对空值可设置返回默认值
http://www.w-s-a.com/news/836026/

相关文章:

  • 智能网站价格河北城乡建设网站
  • 做动画在线观看网站网上花店 网站源代码
  • 做网站项目体会商业信息
  • 深圳的设计网站谷歌浏览器下载手机版官网
  • 苏州网站建设都找全网天下外贸响应式网站设计
  • 揭阳专业做网站网站迁移教材
  • 手机上怎么上传网站吗工程信息网站建设
  • 用手机建网站微信手机网站流程
  • 专注软件优化分享的网站梧州网页设计
  • 长春火车站和高铁站是一个站吗公司名称注册查询系统
  • 便利的集团网站建设网页的依托网站
  • 茶叶网站建设题库制作助手app
  • 网站建设栏目层级北京网站搭建公司电话
  • 网站开发运营经理打开百度竞价页面是网站是什么
  • 国内最专业的设计网站建设现在用什么语言做网站
  • 湖南网站开发 岚鸿象山县建设工程招投标网站
  • 长沙免费网站排名wordpress 教学
  • 专门做app的网站html代码是什么
  • 临沂网站制作建设欧米茄表官网
  • 北京模板网站开发全包网站建设的第三方平台
  • 在凡科做的网站怎么推广网页模板下载 免费 html
  • 有关网站建设的标题仿亿欧网wordpress
  • 网站建设公司销售招聘常用的搜索引擎有哪些?
  • wordpress中.htaccess新上线的网站怎么做优化
  • 家教网站怎么做网站建设品牌推荐
  • 青岛做外贸网站建设茶叶公司网站建设策划书
  • 个人电脑做网站主机三合一网站
  • 用html框架做网站怎么在.Net中做团购网站
  • 怎样建一个自己公司的网站制作网站需要钱吗
  • 联盟网站制作wap网站制作公司