1、toString()方法

底层代码

public String toString() {
return this;
}

其返回值为String类型的字符串本身

 Map<String, Object> params = new HashMap<String, Object>();
//Map集合中没有key为1的键值对
String result = params.get("1").toString();
if (result == null) {
System.out.println("result=" + result);
} else {
System.out.println("result=字符串:" + result);
}

2、valueOf()方法

 底层代码

public static String valueOf(Object obj) {
  return (obj == null) ? "null" : obj.toString();
}

返回参数的字符串表示形式,即如果入参为空则返回字符串null即"null",如果入参有值则返回则字符串形式的值

1 Map<String, Object> params = new HashMap<String, Object>();
2 //Map集合中没有key为1的键值对
3 String result = String.valueOf(params.get("1"));
4 if (result == null) {
5 System.out.println("result=" + result);
6 } else {
7 System.out.println("result=字符串:" + result);
8 }

3、(String)强制转换,这种方法并不能强制转换成其他非String类型,但是(String)null这么写合法

 Map<String, Object> params = new HashMap<String, Object>();
//Map集合中没有key为1的键值对
String result = (String)params.get("1");
if (result == null) {
System.out.println("result=" + result);
} else {
System.out.println("result=字符串:" + result);
}

总结:从map集合中获取key对应的value时,如果key不存在,使用String.valueOf(Map.get("key")),得到的结果是String类型null即为"null";如果使用Map.get("key").toString(),

得到的结果是空指针异常;使用(String)Map.get("key"),得到的结果是null。

Map集合中key不存在时使用toString()方法、valueOf()方法和强制转换((String))之间的区别的更多相关文章

  1. 过滤掉map集合中key或value为空的值

    package cn.com.utils; import org.apache.commons.lang3.StringUtils; import java.util.Collection; impo ...

  2. 获取map集合中key、value

    获取Map集合类中key.value的两种方法 方法一:利用Set集合中的keySet()方法 Map<String,String> map = new HashMap<String ...

  3. Java分享笔记:使用entrySet方法获取Map集合中的元素

    /*--------------------------------- 使用entrySet方法取出Map集合中的元素: ....该方法是将Map集合中key与value的关系存入到了Set集合中,这 ...

  4. 根据key删除Map集合中的key-value映射

    一:在遍历Map时是不可以删除key-value映射的,如果根据key删除,如下: public static void main(String[] args) { Map<String,Obj ...

  5. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

  6. Map集合中的同一键值key重复赋值

    前言: 验证:对Map集合中的同一键值key重复赋值? 结果:对Map集合中的同一键值key重复赋值会覆盖之前的结果. 验证如下: Map<String, Object> map = ne ...

  7. map集合中对应key的value为null处理办法

    问题: Map集合中对应key的value为null,但是现在需要将这个value转为Integer类型,这个value如果不是null,那么get到的是long类型或者是Bigdecimal类型 处 ...

  8. map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法

    package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...

  9. Map集合中value()方法与keySet()、entrySet()区别

    http://blog.csdn.net/liu826710/article/details/9001254 在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, ...

随机推荐

  1. SpringBoot表单数据校验

    Springboot中使用了Hibernate-validate作为默认表单数据校验框架 在实体类上的具体字段添加注解 public class User { @NotBlank private St ...

  2. Android插件化(三):OpenAtlas的插件重建以及使用时安装

    Android插件化(三):OpenAtlas的插件重建以及使用时安装 转 https://www.300168.com/yidong/show-2778.html    核心提示:在上一篇博客 An ...

  3. ISO/IEC 9899:2011 条款6.3.1——算术操作数

    6.3.1 算术操作数 6.3.1.1 布尔.字符以及整数 1.每个整数类型具有一个整数转换等级,如下定义: ——两个带符号的整数类型都不应该具有相同等级,即使它们具有相同的表示. ——一个带符号整数 ...

  4. osg qt 三维模型加载

    osg::ref_ptr<osg::Node> OSG_Qt_::operateMatrix() { osg::ref_ptr<osg::Group> group = new ...

  5. 阶段5 3.微服务项目【学成在线】_day18 用户授权_06-方法授权-方法授权测试-无权限异常处理

    现在没权限返回的信息 控制台抛出的异常是这个 : 不允许访问,这是Spring Security跑出来的 我们在异常处理器里面打个断点看一下 重新测试,就跳转到了异常捕获类这里. 这是异常的类型 这里 ...

  6. sonar:api/ce/submit接口上传失败

    https://blog.csdn.net/weixin_34185320/article/details/87115268 https://ask.helplib.com/others/post_1 ...

  7. Egret入门学习日记 --- 第十二篇(书中 5.1节 内容)

    第十二篇(书中 5.1节 内容) 昨天把 第4章完成了. 今天来看第5章. 接下来是 5.1节 的内容. 总结一下 5.1节 的重点: 1.如何制作一个公用按钮皮肤. 跟着做: 重点1:如何制作一个公 ...

  8. 解决用cmd编译运行java时的错误

    最近上java课程,平时都是用IDEA打代码的,但老师要我们用cmd编译运行,于是在IDEA撸完代码用cmd编译,但却老是编译不出来,有很多乱码.,提示着“错误:GBK的不可映射字符”,又试了几次,着 ...

  9. 如何衡量一个人的 JavaScript 水平?

    参考链接:https://blog.csdn.net/weixin_37615279/article/details/103658866

  10. 谈谈NPM和Webpack的关系

    为什么有NPM: 当包引入数量很多时管理就成为了一个问题,这个就是npm为开发者行了方便之处,npm已经为你做好了依赖和版本的控制,也就是说使用npm可以让你从繁杂的依赖安装和版本冲突中解脱出来,进而 ...