大侠给解释一下这句话的意思

来源:百度知道 编辑:UC知道 时间:2024/05/24 04:41:29
String oldValue = (String)map.get("OLD_VALUE") == null ? "" : (String)map.get("OLD_VALUE");

什么意思啊?

就是(String)map.get("OLD_VALUE")取出来的值转成String后,看是不是NULL,如果是NULL,就给oldValue赋值为"",如果不为NULL,就赋值为(String)map.get("OLD_VALUE")。

相当于:
String oldValue = null;
if ((String)map.get("OLD_VALUE") == null) {
oldValue = "";
} else {
oldValue = (String)map.get("OLD_VALUE");
}

map.get("OLD_VALUE") 如果得到的值为空 那么变量oldValue 就是一个对“”空字符串的引用

如果得到的值不为空 那么变量oldValue 就是一个对map.get("OLD_VALUE") 强转成字符串后对象的引用

翻译成下面的语句可以帮助理解:

String oldValue;
if((String)map.get("OLD_VALUE") == null)
oldValue="";
else
oldValue=(String)map.get("OLD_VALUE");

如果map包含键OLD_VALUE则赋值给oldVale

从MAP里取出键为"OLD_VALUE"的值,但是这个键的值为NULL 的话取""值,不是话取("OLD_VALUE") 然后转换类型,转换成String类型

从map中取出key为OLD_VALUE的值,如果这个值为null,则改为""否则不变,然后把这个值转为String赋予oldValue .