int risk = rst.getString("risk") == null ? -1 : Integer
                        .valueOf(rst.getString("risk"));
 String srcip = rst.getString("src_ip") == null ? "" : rst
                        .getString("src_ip");
 String dstip = rst.getString("dst_ip") == null ? "" : rst
?-1:什么作用....

解决方案 »

  1.   

    ?:是三目运算符,如果rst.getString("risk") == null 成立的话risk的值就把前者-1赋给它,反之则把后者Integer.valueOf(rst.getString("risk"));的值赋给它。
    后边的都是这个道理
      

  2.   

    a = b ? c : d; //这样的式子属于三目运算
    首先判断 b 条件,如果成立则把 c 赋给 a,否则把 d 赋给 a