这在java中代表什么?

时间:2014-05-14 05:04:53

标签: java gwt gxt

      servicesDto.setPhotospath(values.get("photospath") == null ? null
              :values.get("photospath").toString());

这里表示什么以及为什么以这种方式使用null:'== null? null'

注意:我是新手,请给我一个这样的参考,并解释我兄弟/朋友。

感谢你...... !!!

5 个答案:

答案 0 :(得分:1)

在if else表示法中,这就是它的含义:

if(values.get("photospath") == null ) {
 servicesDto.setPhotospath(null);
}else {
 servicesDto.setPhotospath(values.get("photospath").toString());
}

答案 1 :(得分:1)

它是ternary operator,而三元相当于

if (values.get("photospath") == null) {
  servicesDto.setPhotospath(null);
} else {
  servicesDto.setPhotospath(values.get("photospath").toString());
}

答案 2 :(得分:0)

您正在查看ternary operator

格式正确,一个看起来像这样:

 foo.isSomething() ? doThis() : doThat();  

并转换为:"如果?之前的表达式求值为true,则执行?:之间的语句,否则执行{之后的语句{1}}"

换句话说,您可以将其视为简写:

:

请注意,这只是一种简写 - 您无法使用if / else语句对三元运算符执行任何操作。也就是说,如果你打算通过探索专业代码(顺便提一下,我强烈推荐)来学习编程,你应该熟悉它们,因为你会看到它经常使用 - 不只是在Java中,而是在大量的语言。

答案 3 :(得分:0)

如果是其他,这称为短格式(三元) 您上面的代码等同于以下内容:

if(values.get("photospath") == null){
       servicesDto.setPhotospath(null);
}else{
       servicesDto.setPhotospath(  values.get("photospath").toString())  );
}

答案 4 :(得分:0)

三元运算符使用一个运算符来获取三个操作数。它是一个条件运算符,为if ... else ...语句提供了更短的语法。第一个操作数是布尔表达式;如果表达式为true,则返回第二个操作数的值,否则返回第三个操作数的值:

布尔表达式? value1:value2
例如

boolean isTernary = true; String easyToRead = ""; if (isTernary == true) { easyToRead = "No"; } else { easyToRead = "Yes"; }
可以使用三元运算符编写:

boolean isTernary = true; String easyToRead = (isTernary == true)?"Yes":"No";

完整写入的if ... else ...语句更容易阅读,但有时三元运算符可以是一个方便的语法快捷方式。

相关问题