大侠解释一下这句话什么意思

来源:百度知道 编辑:UC知道 时间:2024/07/06 14:21:07
System.out.println(res.get("INVESTIGATE_MANHOUR") == null?null:(res.get("INVESTIGATE_MANHOUR")).toString());

最主要的是括号里那句啊,谢谢了哈

System.out.println(res.get("INVESTIGATE_MANHOUR") == null?null:(res.get("INVESTIGATE_MANHOUR")).toString());

//----------------------------------------------------
res:是一个类的实例
get:是res的方法
INVESTIGATE_MANHOUR:一个字符串
把res.get("INVESTIGATE_MANHOUR")看作一个整体a,则

res.get("INVESTIGATE_MANHOUR") == null?null:(res.get("INVESTIGATE_MANHOUR"))

简化成:
a==null?null:a;

a==null是一个比较表达式,成立就反回true,否则false
意思是说,如果表达式返回true则取null值,如a返回false则返回a;
(所以这样写多此一举,可以直接写成System.out.println(res.get("INVESTIGATE_MANHOUR").toString());)

这是典型的 三目运算符

三目运算符:http://getdata.spaces.live.com/blog/cns!2E14969FC8BD0DFC!146.entry

。。。 就是先判断res.get("INVESTIGATE_MANHOUR")是否为null 如果是 就输出null 不是就将res.get("INVESTIGATE_MANHOUR")这个转换成string输出出来!

是个条件语句<