在学习过滤器时遇到这样一行代码
id=(id==null)?"":id;
相当于下面的代码
if(id == null){
id = ""; //当id为null时,赋值空字符串
}
三目表达式
如果id获取是null 则变为“”字符串,否则就还是原来的值
你把它拆分开,(id==null)?"":id 是一个整体,它做的就是给id赋值的操作。
再看(id==null)?"":id,它是意思是id如果是null,返回空字符串,否则返回id本身。
用这样就可以省略那句话了,三目运算 就是个 if
if("admin".equals(id)){
}
代码的意思是如果id为null,则赋值为”“,否则不变,其实最主要的作用是为id赋默认值,也就是空字符串,这样在使用id的时候就不会因为id为null报错了
这个是三元表达式,
当id==null
这个表达式id=(id==null)?"":id;结果是空字符串
当id==非空
这个表达式id=(id==null)?"":id;结果是id
对于有些选择分支结构,可以使用简单的条件运算符来代替:
if(a<b)
min=a;
else
min=b;
用三目表达式表示则为
min=(a<b)?a:b;
。题主题目的意思即为
当判断id==null时,id重新赋值为‘’ id=‘’
id!=null,id重新赋值 id=id
if(id==null){
id=‘’}else{
id=id
}
如有帮助望采纳