2019-5-14笔记

作者:匿名用户
链接:https://www.zhihu.com/question/20570393/answer/111686024
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一般用string == null || string.trim().length() == 0来判断一个字符串是否为空,在各大工具类中都含有相应的工具方法,像apache的common包、google的guava。实现稍有差别,我们可以根据实际的业务场景,选择合适的方法。一般来说,blank会比empty更严格。
Apache:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**
* <p>Checks if a CharSequence is whitespace, empty ("") or null.</p>
*
* <pre>
* StringUtils.isBlank(null) = true
* StringUtils.isBlank("") = true
* StringUtils.isBlank(" ") = true
* StringUtils.isBlank("bob") = false
* StringUtils.isBlank(" bob ") = false
* </pre>
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is null, empty or whitespace
* @since 2.0
* @since 3.0 Changed signature from isBlank(String) to isBlank(CharSequence)

*/
public static boolean isBlank(final CharSequence cs) {
int strLen;
if (cs == null || (strLen = cs.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if (Character.isWhitespace(cs.charAt(i)) == false) {
return false;
}
}
return true;
} /**
* <p>Checks if a CharSequence is empty ("") or null.</p>
*
* <pre>
* StringUtils.isEmpty(null) = true
* StringUtils.isEmpty("") = true
* StringUtils.isEmpty(" ") = false
* StringUtils.isEmpty("bob") = false
* StringUtils.isEmpty(" bob ") = false
* </pre>
*
* <p>NOTE: This method changed in Lang version 2.0.
* It no longer trims the CharSequence.
* That functionality is available in isBlank().</p>
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is empty or null
* @since 3.0 Changed signature from isEmpty(String) to isEmpty(CharSequence)
*/
public static boolean isEmpty(final CharSequence cs) {
return cs == null || cs.length() == 0;
}

如果是安卓开发则可以用谷歌封装好的静态方法TextUtils.isEmpty(…)来判断,下面是源码:

1
2
3
4
5
6
7
8
9
10
/**
* Returns true if the string is null or 0-length.
* @param str the string to be examined
* @return true if str is null or zero length
*/
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;

}编辑于 2018-01-30​赞同 10​​添加评论​分享​收藏​感谢​收起​悠悠千反田莫忘来时路,不负少年心1 人赞同了该回答 StringUtils.isBlank(null)      = true

StringUtils.isBlank(“”) = true
StringUtils.isBlank(“ “) = true
StringUtils.isBlank(“bob”) = false
StringUtils.isBlank(“ bob “) = false
StringUtils.isBlank(null) = true
StringUtils.isBlank(“”) = true
StringUtils.isBlank(“ “) = true
StringUtils.isBlank(“bob”) = false
StringUtils.isBlank(“ bob “) = false

其实可以根据自己的要求选择合适的判断方法

阅读水电缴费模块研究它的代码业务逻辑(PaymentRecordBiz)

缴费列表清单模块

1
2
3
sequenceDiagram;
代码开始->>同步数据:分别查询相关的水电缴费信息
同步数据->>获取所有企业:获取所有企业

1
2
3
4
5
6
7
8
9
10
11
12
13
sequenceDiagram;
同步数据->>插入缴费记录:插入水费缴费记录
插入缴费记录->>缴费记录插入:所有企业企业类型水表本年每月用水量电费缴费记录
插入缴费记录->>缴费记录插入:所有企业公摊类型水表本年每月用水量
插入缴费记录->>缴费记录插入:所有水表起始日期的企业
插入缴费记录->>缴费记录插入:水表规则
插入缴费记录->>缴费记录插入:企业每月用水量
同步数据->>插入缴费记录:插入
插入缴费记录-->缴费记录插入:所有企业企业类型电表本年每月用电量
插入缴费记录-->缴费记录插入:所有企业公摊类型电表本年每月用电量
插入缴费记录-->缴费记录插入:所有电表起始日期的企业
插入缴费记录-->缴费记录插入:电表规则
插入缴费记录-->缴费记录插入:企业每月用电量

需求:
一个学校总人数一个学校实时在校人数不再返回正常的点