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”,带引号的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,532评论 0 3
  • 春意渐远,秋风近。白鹤飞来,故人去。江湖之中,总有人寂寥。一朝相遇,投缘莫嫌早。人生短苦,见证者人何?有明叔儿。 ...
    黄子寻阅读 957评论 0 0
  • 我们现在越来越注重细节,小到加载动画,大到界面配色。这些都会成为用户吐槽的地方,一个不小心,你设计的东西让用户反感...
    纳兰若愚阅读 882评论 0 6