美文网首页
论插入表达式

论插入表达式

作者: 赐我理由在披甲上阵 | 来源:发表于2016-09-22 17:26 被阅读6次
    网上到一道题 论插入表达式
     public void print(){
        if(    ){ //括号内填入代码,使得print方法输出"ab"
          System.out.print("a");
        }elss{
          System.out.print("b");
        }
     }
    

    正经人的思路…

    这是要 一个if返回两个值啊,有了,fork()函数啊!!! ------ c语言中,这个奇葩函数调用一次,会返回两次。因为它会创建一个子进程,在子进程中返回0,父进程中返回 pid(进程ID)。
    可是,问题来了,fork是linux上的系统调用,windows木有啊,java这种跨平台的语言没有这个api………


    精神病人思路广

    有个东西叫 表达式插入

    public void print(){
    
       if(new Object(){
            public int aa(){ System.out.print("a");return 0; }          
          }.aa() != 0 )
       {
        System.out.print("a");
       }
       else {
        System.out.print("b");
       }
    
    }
    
    
    
    

    完美运行!
    好吧....其实就是一个匿名内部类而已,由此引发,java8的lambda 匿名函数也行。

       public void print(){
    
       if(()->{ System.out.print("a");return 0; }   )
       {
        System.out.print("a");
       }
       else {
        System.out.print("b");
       }
    
      }
    

    相关文章

      网友评论

          本文标题:论插入表达式

          本文链接:https://www.haomeiwen.com/subject/nfizettx.html