这段代码什么意思public String turnIdNo(String idNoBef) { if (StringUtils.isBlank(idNoBef)) { BusinessException.throwBusinessException(MsgCodeEnum.ID_NO_TURN_FAIL); } String idNoAft = null; if (idNoBef.length() == 18) { idNoAft = idNoBef.substring(0, 6) + idNoBef.substring(8, 17); } else if (idNoBef.length() == 15) { if(!StringUtils.isNumeric(idNoBef)){ return idNoBef; } idNoAft = turnFifteenIdNoToEighteen(idNoBef); } else { BusinessException.throwBusinessException(MsgCodeEnum.ID_NO_TURN_FAIL); } if(JudgeUtils.isNull(idNoAft)){ BusinessException.throwBusinessException(MsgCodeEnum.ID_NO_TURN_FAIL); } return idNoAft.toUpperCase(); }
时间: 2024-02-14 21:30:46 浏览: 26
这段代码是一个Java方法,名为`turnIdNo`,它的作用是将身份证号码进行转换。
首先,它会判断传入的`idNoBef`是否为空或者为空字符串。如果是空的话,就会抛出一个业务异常。这里使用了`StringUtils.isBlank`方法来进行判断。
然后,它会定义一个变量`idNoAft`并初始化为`null`。
接下来,它会判断`idNoBef`的长度。如果长度为18,就会截取其中的一部分字符,然后将其赋值给`idNoAft`。具体来说,它会取出`idNoBef`的前6个字符和第8到第17个字符,然后将它们拼接在一起。
如果`idNoBef`的长度为15,它会进一步判断其中是否包含非数字的字符。如果包含非数字的字符,就直接返回原始的`idNoBef`。否则,它会调用另一个名为`turnFifteenIdNoToEighteen`的方法,将15位的身份证号码转换为18位,并将结果赋值给`idNoAft`。
如果`idNoBef`的长度既不是18也不是15,它同样会抛出一个业务异常。
最后,它会判断`idNoAft`是否为空。如果为空,就会抛出一个业务异常。
最后,它会将`idNoAft`转换为大写字母并返回。
总的来说,这段代码的目的是将身份证号码进行转换,并返回转换后的结果。转换规则是根据输入的身份证号码的长度来确定。
相关问题
StringUtils.isBlank和StringUtils.isEmpty区别
StringUtils.isBlank和StringUtils.isEmpty都是来自于Apache Commons Lang库的工具方法,用于判断字符串是否为空。
StringUtils.isEmpty方法用于判断字符串是否为空或长度为0或由空白符(whitespace)构成,返回布尔值。例如:
```
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("abc") = false
StringUtils.isEmpty(" abc ") = false
```
StringUtils.isBlank方法则更加严格,用于判断字符串是否为空或长度为0或由空白符(whitespace)构成,其中空白符包括空格、制表符、换行符等,也返回布尔值。例如:
```
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("abc") = false
StringUtils.isBlank(" abc ") = false
```
因此,如果只需要判断字符串是否为空或长度为0,可以使用StringUtils.isEmpty方法;如果需要判断字符串是否为空或长度为0或仅由空白符构成,应该使用StringUtils.isBlank方法。
StringUtils.isBlank()和StringUtils.isEmpty()和StringUtils.isNull()
StringUtils.isBlank()、StringUtils.isEmpty()、StringUtils.isNull()都是字符串判断函数,但是它们的判断条件有所不同。
StringUtils.isBlank()函数用于判断一个字符串是否为空或者只包含空格,如果是则返回true,否则返回false。
StringUtils.isEmpty()函数用于判断一个字符串是否为空,如果是则返回true,否则返回false。但是需要注意的是,如果字符串为null,该函数也会返回true。
StringUtils.isNull()函数用于判断一个字符串是否为null,如果是则返回true,否则返回false。
因此,当你需要判断一个字符串是否为空或null时,可以使用StringUtils.isBlank()函数;当你只需要判断一个字符串是否为空时,可以使用StringUtils.isEmpty()函数;当你需要判断一个字符串是否为null时,可以使用StringUtils.isNull()函数。