String.valueOf 陷阱

直接上代码

Map mp = Maps.newHashMap();

String myname = String.valueOf(mp.get("myname"));

System.out.println(StringUtils.isNotBlank(myname));

输出什么?

这个代码和mp中是否有“myname”没有关系,结果为false

原由要看String.valueOf的实现:

public static String valueOf(Object obj) {

     return (obj == null) ? "null" : obj.toString();

}

一目了然,String.valueOf 不会返回null,只会返回“null”,带引号的

你可能感兴趣的:(String.valueOf 陷阱)