java Object转String方式

Map<String,Object> map = new HashMap<>();
map.put("a1","a");
map.put("a2","");
map.put("a3",1);
map.put("a4",null);

一、强制转换

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

String value = (String)map.get("a1");
String value = (String)map.get("a2");
// value = "a"
// value = ""

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

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

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

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

String value = (String)map.get("a4");
String value = (String)map.get("a5");
// value = null
// value = null

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

二、toString()

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

String value = map.get("a1").toString();
String value = map.get("a2").toString();
String value = map.get("a3").toString();
// value = "a"
// value = ""
// value = "1"

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

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

弊端:空指针异常 

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

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

String value = String.valueOf(map.get("a1"));
String value = String.valueOf(map.get("a2"));
String value = String.valueOf(map.get("a3"));
String value = String.valueOf(map.get("a4")); 
String value = String.valueOf(map.get("a5")); // a5键不存在
// value = "a"
// value = ""
// value = "1"
// value = "null"
// value = "null"

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

四、+ ""(推荐使用)

String value = map.get("a1") + "";
String value = map.get("a2") + "";
String value = map.get("a3") + "";
String value = map.get("a4") + ""; 
String value = map.get("a5") + ""; // a5键不存在
// value = "a"
// value = ""
// value = "1"
// value = "null"
// value = "null"

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

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

非空判断:

if(!"".equals(value) && !"null"..equals(value)){

}

空判断:

if("".equals(value) || "null"..equals(value)){

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值