读书人

请教这种赋值的写法

发布时间: 2013-01-20 10:22:41 作者: rapoo

请问这种赋值的写法
/**
* 说明:返回前多少条记录
*
* @param num 条数 当num=0时,则取所有记录
* @return String
*/
public static String getRowsNumber(int num){
String str = "";
// 值为1 时,为DB2数据库
if(dbType==1){
str = num != 0 ?( " fetch first "+num+" rows only ") :" ";
}else{
str = num != 0 ?( " rownum <= "+num+" ") :" 1 = 1 ";
}
return str;
}


这是先计算str后的三目运算符,得到一个字符串然后再赋给str吗?
[解决办法]
嗯,是的,先进行三目运算符,如果 num != 0 为true就赋值前面的值,false就赋值后面的值。
[解决办法]
对的。先进行三目运算符,如果 num != 0 为true就赋值前面的值,false就赋值后面的值。
[解决办法]

引用:
str=num != 0 ?( " fetch first "+num+" rows only ") :" "
等价于
if(num!=0){
str=" fetch first "+num+" rows only ";
}else{
str="";
}

+正解,单行if else的简写,代码看着直观。

读书人网 >J2EE开发

热点推荐