返回信息流/**
* 判断输入的字符串参数是否为空或者是"null"字符,如果是,就返回target参数,如 果不是,就返回source参数。
*/
public static String chanageNull(String source, String target) {
if (source == null || source.length() == 0 || source.equalsIgnoreCase("null")) {
return target;
} else {
return source;
}
}
请问 null和.length()==0 不一样吗?source.equalsIgnoreCase("null")又代表什么?
这是一条镜像帖。来源:北邮人论坛 / java / #17315同步于 2011/2/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
请问null和长度为0的区别
salooloo
2011/2/28镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
【 在 salooloo 的大作中提到: 】
: /**
: * 判断输入的字符串参数是否为空或者是"null"字符,如果是,就返回target参数,如 果不是,就返回source参数。
: */
: ...................
null如其名,什么都不是,也就没有任何属性,
更不可能有.length。
定义任何一个对象不使用new关键字
例如Object O;
O此刻就是null
只有 = new Object()之后才有意义
new之前为null,此刻使用O.任何属性方法
都是不可接受的
null不占用内存
而 "".Length = 0
""此刻是一个字符串,已经为其分配了一定的内存空间 。
source.equalsIgnoreCase("null")则是将source与另一个 String即“null” 进行比较,不考虑大小写。如果两个字符串的长度相等,并且两个字符串中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。
像这种方法你应该到java api文档中查,因为以后会遇到很多很多不同的方法,它们都是java提供给我们使用的。
呃 非常感谢
【 在 slacker 的大作中提到: 】
: : /**
: : * 判断输入的字符串参数是否为空或者是"null"字符,如果是,就返回target参数,如 果不是,就返回source参数。
: : */
: ...................
source == null ||source.length() == 0 || source.equalsIgnoreCase("null")
1. source == null 放在最前面的原因是避免source为一个"空对象"时,调用.length()&.equal*Case()抛出异常
2. source.length() == 0 则是判断“字符串”是否为空。
3. source.equalsIgnoreCase("null") 则是因为在某些数据库中,存储的内容为空时,返回一个"null"字符串,这里是对这种情况判断。