servicesDto.setPhotospath(values.get("photospath") == null ? null
:values.get("photospath").toString());
这里表示什么以及为什么以这种方式使用null:'== null? null'
注意:我是新手,请给我一个这样的参考,并解释我兄弟/朋友。
感谢你...... !!!
答案 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 ...语句更容易阅读,但有时三元运算符可以是一个方便的语法快捷方式。