小编Fir*_*ien的帖子

这个不必要的方法参考背后的想法是什么?

java 8中的Predicate接口有一个静态方法,如:

static <T> Predicate<T> isEqual(Object targetRef) {
    return (null == targetRef)
            ? Objects::isNull
            : object -> targetRef.equals(object);
}
Run Code Online (Sandbox Code Playgroud)

为什么不这样做:

 return (null == targetRef) 
            ? null
            : object -> targetRef.equals(object);
Run Code Online (Sandbox Code Playgroud)

我的意思是,这个方法参考Objects::isNull没有带来任何进一步的改进......并且正在减少一点可读性......

if为null我返回true ...完成!或者我在幕后错过了一些陷阱......?

java methods predicate java-8

2
推荐指数
2
解决办法
195
查看次数

为什么我可以编译带有2个返回的代码?

由于我是从一个java岛上来的,我觉得为什么编译器不会警告无法访问的代码,例如:

int main(int argc, char** argV)
{

    std::list<int> lst = {1,2,3,4};

    return 0;



    std::cout << "Done!!!" << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的问题:

为什么我可以编译带有2个返回的代码?

我的编译器是gcc for c ++ 11,在Windows上,代码块

c++ codeblocks compiler-warnings unreachable-code

1
推荐指数
1
解决办法
90
查看次数