• Java Object转String方式


    1. Map map = new HashMap<>();
    2. map.put("a1","a");
    3. map.put("a2","");
    4. map.put("a3",1);
    5. map.put("a4",null);

    一、强制转换

    value = "a"或""可以进行强制转换String类型,值是String类型

    1. String value = (String)map.get("a1");
    2. String value = (String)map.get("a2");
    3. // value = "a"
    4. // value = ""

    value = 1(Integer类型)不能强制转换String类型

    String value = (String)map.get("a3"); // 类型转换异常

    value = null转换虽然不会报错,值依旧是null 

    key = a5,map中没有a5这个键,值也是null

    1. String value = (String)map.get("a4");
    2. String value = (String)map.get("a5");
    3. // value = null
    4. // value = null

    弊端:int或long类型强制转换异常

    二、toString()

    value = "a"或""或1(Integer类型),toString()方法可以直接转换String类型

    1. String value = map.get("a1").toString();
    2. String value = map.get("a2").toString();
    3. String value = map.get("a3").toString();
    4. // value = "a"
    5. // value = ""
    6. // value = "1"

    value = null或key = a5 ,a5不存在 ,toString()方法报空指针异常

    1. String value = map.get("a4").toString(); // 空指针异常
    2. String value = map.get("a5").toString(); // 空指针异常

    弊端:空指针异常 

    三、String.valueOf() (推荐使用)

    value = "a"或""或1或null 都可以直接转换String类型的字符串

    1. String value = String.valueOf(map.get("a1"));
    2. String value = String.valueOf(map.get("a2"));
    3. String value = String.valueOf(map.get("a3"));
    4. String value = String.valueOf(map.get("a4"));
    5. String value = String.valueOf(map.get("a5")); // a5键不存在
    6. // value = "a"
    7. // value = ""
    8. // value = "1"
    9. // value = "null"
    10. // value = "null"

    弊端:null对象会被转换成"null"

    四、+ ""(推荐使用)

    1. String value = map.get("a1") + "";
    2. String value = map.get("a2") + "";
    3. String value = map.get("a3") + "";
    4. String value = map.get("a4") + "";
    5. String value = map.get("a5") + ""; // a5键不存在
    6. // value = "a"
    7. // value = ""
    8. // value = "1"
    9. // value = "null"
    10. // value = "null"

    弊端:null对象会被转换成"null"

    方法三与方法四转换的字符串

    非空判断:

    1. if(!"".equals(value) && !"null"..equals(value)){
    2. }

    空判断:

    1. if("".equals(value) || "null"..equals(value)){
    2. }

  • 相关阅读:
    python基础语法14-GUI编程2
    【圆环展开算法剖析与硬核实战--全程高能,做好笔记】
    板卡的分级调试经验
    【工程光学】光学系统的光束限制
    vuex的模块化和namespaced
    AI播客下载:The TWIML AI Podcast (机器学习与人工智能周刊)
    gitlab 合并分支
    传统变化检测
    stdmap 容器使用详细说明
    webpack定制化 代码规范[eslint]
  • 原文地址:https://blog.csdn.net/qq_41482600/article/details/133811066