1.ISNULL 与 ISEMPTY 比较
当我们使用 "object == null" 时,实际上是在判断对象引用所指向的内存地址是否为 null。如果对象引用的内存地址为 null,那么表示该对象为空;如果对象引用的内存地址不为 null,那么表示该对象不为空。isnull就是判断该对象是否指向空
isempty是结合了isnull,他先判断isnull是否为空,再判断集合里面是否为空,只要有一个为真的情况下就返回TRUE,举个例子
2.trim 除去空格
先看源码
public static String trim(String str) { return (str == null ? "" : str.trim()); }
测试当传入字符串为空的时候,返回什么
public String trim() {
int len = value.length;
int st = 0;
char[] val = value; /* avoid getfield opcode */
while ((st < len) && (val[st] <= ' ')) {
st++;
}
while ((st < len) && (val[len - 1] <= ' ')) {
len--;
}
return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
}
真的什么也没有
好了。我们现在开始看源码。进入源码看到了我们进入了string终极类,看看它是怎么写的
如果前后位置发生了变化,就执行substring字符串
再看看这个构造函数