Java Object转String方式

Map 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)){

}

你可能感兴趣的:(java,前端,服务器)