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. PHP无限级树形结构算法(递归和引用)

    测试数组 $array = [ [, , 'name' => '这是主类'], [, , 'name' => '这是主类'], [, , 'name' => '父级为1子类'], [ ...

  2. keras启用tensorboard

    在callback函数中添加tensorboard,启用tensorboard. # TensorBoard callback tensorboard_cb = K.callbacks.TensorB ...

  3. opencv之dlib库人脸识别

    基础知识 python知识: import os,shutil shutil.rmtree("C:\\Users\\yangwj\\Desktop\\test") #删除目录 os ...

  4. javascript的promise

  5. PAT 甲级 1048 Find Coins (25 分)(较简单,开个数组记录一下即可)

    1048 Find Coins (25 分)   Eva loves to collect coins from all over the universe, including some other ...

  6. PowerDesigner的安装和数据库创建

    PowerDesigner安装方法:  http://dev.firnow.com/course/3_program/java/javajs/20090908/174375.html 安装完这2个软件 ...

  7. 【Leetcode_easy】704. Binary Search

    problem 704. Binary Search solution: class Solution { public: int search(vector<int>& nums ...

  8. css实现可伸缩的搜索框

    效果图: 代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  9. linux服务器常用密令

    1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://e ...

  10. rest_framework之组件大长今

    功能导入快捷查询: from rest_framework import serializers # 序列化from rest_framework.routers import SimpleRoute ...