有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

gwt这在java中代表什么?

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

此处表示的是什么以及为什么null以这种方式使用:'==null?空'

注:我是新生,请给我一份这样的推荐信,并向我解释兄弟/姐妹/朋友

谢谢你


共 (5) 个答案

  1. # 1 楼答案

    它是一个ternary operator,三元等于

    if (values.get("photospath") == null) {
      servicesDto.setPhotospath(null);
    } else {
      servicesDto.setPhotospath(values.get("photospath").toString());
    }
    
  2. # 2 楼答案

    你看到的是ternary operator

    格式正确,其中一个如下所示:

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

    并转化为:“如果?前面的表达式的计算结果为true,则执行?:之间的语句,否则执行:后面的语句。”

    换句话说,你可以把它看作是:

     if (foo.isSomething()) {
         doThis();
     } else {
         doThat(); 
     }
    

    请注意,这只是一个简写——对于三元运算符,没有什么是if/else语句所不能做到的。这就是说,如果你打算通过探索专业代码来学习编程(顺便说一句,我强烈建议你这么做),你应该熟悉它们,因为你会看到它被大量使用——不仅在Java中,而且在多种语言中

  3. # 3 楼答案

    这被称为缩写形式(三元),如果不是这样的话 上述代码相当于以下代码:

    if(values.get("photospath") == null){
           servicesDto.setPhotospath(null);
    }else{
           servicesDto.setPhotospath(  values.get("photospath").toString())  );
    }
    
  4. # 4 楼答案

    三值运算符使用一个运算符获取三个操作数。它是一个条件运算符,为if。。。其他的陈述第一个操作数是布尔表达式;如果表达式为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";

    如果。。。其他的完整编写的语句更容易阅读,但有时三元运算符是一种方便的语法快捷方式

  5. # 5 楼答案

    在if-else符号中,这是它的意思:

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