初始化,
Map<String, Object> map = new HashMap<String, Object>();
正确的取值方法:
1、
String str = String.valueOf(map.get("ACCEPT_CHANNEL"));
2、
String str = (String) map.get("ACCEPT_CHANNEL");
if (null != str && !"".equals(str)) {
…………
}
错误的取值方法:
String str = map.get("ACCEPT_CHANNEL").toString;
原因分析:
当map中没有ACCEPT_CHANNEL对应的键值对时,就会报空指针异常。
valueOf
返回
Object 参数的字符串表示形式。
参数:
obj - 一个
Object。
返回:
如果参数为
null,则字符串等于
"null";否则,返回
obj.toString() 的值。
另请参见:
对应的源码:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
toString
public
String
toString()
返回该对象的字符串表示。通常,
toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的
toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“
@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:
该对象的字符串表示形式。