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

优秀电商设计网站有哪些网站开发人员是做什么的

优秀电商设计网站有哪些,网站开发人员是做什么的,网站搭建教程吾爱破解,借钱软件推广微信hyhyk1忘记是在去年还是前年的时候遇到一个需要检测所传字符串是否为数字的场景,开始使用 NumberUtils.isNumber() 提示错误 ,没有解决问题(可能是因为依赖版本导致),最后使用的是StringUtils.isNumeric(),当时关…

忘记是在去年还是前年的时候遇到一个需要检测所传字符串是否为数字的场景,开始使用 NumberUtils.isNumber() 提示错误 ,没有解决问题(可能是因为依赖版本导致),最后使用的是StringUtils.isNumeric(),当时关于这个问题场景的Bolog也放到了草稿箱中,一直保留至今才抽时间补充起来…

其实问题早已解决,但是不影响我们再好好读一下 StringUtils、NumberUtils源码,以便在更多场景中活学活用

      • 触发场景
      • 基础了解
      • StringUtils
        • 判空 isEmpty(空)、isNotEmpty(非空)
        • 判空 isBlank(空)、isNotBlank(非空)- 过滤空格
        • 过滤、去除 strip、stripToEmpty、stripStart、stripToNull、stripToEmpty 等
        • 去空 trim、trimToNull、trimToEmpty
        • 判断 是否为数字 isNumeric、isNumericSpace
      • NumberUtils
        • 俩数比较
        • 获取 最大值、最小值
        • 判断 字符串是否为数字、是否全为数字
        • 类型创建 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.9'

org.apache.commons.lang3

在这里插入图片描述


StringUtils

StringUtils官方文档 (导入包:import org.apache.commons.lang3.StringUtils;

在这里插入图片描述

其实在学习源码中,你会发现可以很便捷的找到方法,同时这些方法的一些实际使用都有标明示例

判空 isEmpty(空)、isNotEmpty(非空)

开发中isEmptyisNotEmpty 使用非常频繁,正好看看源码(感觉看过后都没必要介绍了...

在这里插入图片描述

isEmpty :判断条件以 null 或 String长度为标准

  StringUtils.isEmpty(null)      = trueStringUtils.isEmpty("")        = trueStringUtils.isEmpty(" ")       = false //内部空格默认 length()==1,故为falseStringUtils.isEmpty("bob")     = falseStringUtils.isEmpty("  bob  ") = false

isNotEmpty:内部实现直接是 !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 判断字符串为空时,返回的值为null
  • stripToEmpty 判断字符串为空时,返回的值为 ""

找点不足:只能去除前后空格,字符串中的间的空格无法去除!

在这里插入图片描述

strip :当需要过滤特定数据或空串时可直接使用strip方法,第二个参数为需要过滤的数据

找些不足

  • 无筛选条件下(及为null 或 ""),首尾空格都可以去除
  • 有筛选条件下优先去除筛选数据,空格可能会残留(如果有需要,可以二次调用特意除去空格)
  • 当过滤数据位于其余数据中,可能会出现无法筛选的情况,类似以下场景
StringUtils.strip("  abcyx", "xyz")  // 输出:  abc
StringUtils.strip("  abycyx", "xyz") // 输出:  abyc

在这里插入图片描述

从strip 方法可以看到stripStart、stripEnd ,,有兴趣的可以,稍微看一下

  • 内部一个是正序过滤,一个是倒序过滤
  • 过滤场景也是一个注重头部,一个注重尾部

stripStart

在这里插入图片描述

stripEnd

在这里插入图片描述


去空 trim、trimToNull、trimToEmpty

其实 trimstrip 有些地方还是挺相同的,都可以去除字符串中首位空格;相比而言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返回的值为null
  • trimToEmpty返回的值为 ""

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()  //输出:true

在这里插入图片描述


NumberUtils

NumberUtils官方文档(导入包:import org.apache.commons.lang3.math.NumberUtils;

在这里插入图片描述

有兴趣的可以直接跳 NumberUtils 类,通过 Ctrl+F12 查看方法

在这里插入图片描述

俩数比较

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通过字符串创建Integer
createLong通过字符串创建Long
createFloat通过字符串创建Float
createDouble通过字符串创建Double
createNumber通过字符串创建Number
createBigInteger通过字符串创建BigInteger
createBigDecimal通过字符串创建BigDecimal类型,支持long、int、float、double、number等数值

As 智能提示

在这里插入图片描述

NumberUtils

  NumberUtils.createInteger("11")NumberUtils.createDouble("10")

等同于 Java

  Integer.parseInt("11");Double.parseDouble("10");

等同于 Kt(Kt自带类型推导,使用便捷

  "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.yayakq.cn/news/108103/

相关文章:

  • 昆山网站推广做电商卖玉器的网站
  • 网站设计太原建行官网个人银行
  • 浏阳做网站推荐织梦免费企业模板网站
  • 徐州模板网站托管平台个人类网站有哪些
  • 河北百度seo万词霸屏百度推广seo
  • 哪个网站的域名到期直接注册简洁中文网站模板
  • 湛江模板做网站汕头市建筑信息网站
  • 网站建设工作计划交易网站域名
  • 专业做营销网站建设网创项目
  • 个人兼职网站制作厦门优化网站
  • 网站更换内容qq浏览器官网
  • 哪个网站做h5号oa软件开发
  • 团购网站APP怎么做商贸有限公司怎么样注册
  • 技术支持 天空网络-临汾做网站北京城乡建设门户网站
  • 电子商务网站建设 论文抖音代运营多少钱
  • 网站开发费会计处理知名网站建设推广
  • 微擎可以做企业网站吗企业网站建设步骤
  • 太原营销网站建设制作平台好的宠物网站模板
  • 网站域名解析时间做手机网站兼容
  • 济南网站优化小黑建设企业网站企业网上银行登录官网下载
  • 专业分销网站建设wordpress 归档函数
  • 提供建立网站服务的公司php网页制作教程
  • 华强北做网站在哪个网站做推广比较好
  • 屏山县建设局网站免费下载微信
  • 昆明网站建设天锐科技wordpress极验
  • 湖南营销型网站滁州市重点工程建设管理局网站
  • 浙江省住房和建设厅网站中秋网页制作素材
  • 环保网站怎么做怎么制作图片文档
  • 国外 图片网站西安seo外包工作室
  • 个人网站空间精美微信小程序模板