小编Nem*_*Sol的帖子

没有类型的Lambda表达式

我理解Java8 lambda表达式的语法,但为什么下面的代码在没有x的特定类型声明的情况下工作?为什么要打印"巴兹"?

public class LambdaExpressions {

    interface Foo {
        void bar(Object o);
    }

    static void doo(Foo f) {
        f.bar("baz");
    }

    public static void main(String[] args) {

        doo( x -> {System.out.println(x);});
    }

}
Run Code Online (Sandbox Code Playgroud)

java lambda java-8

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

这里不应该引用Java方法

您如何精确链接Java 8实例的方法引用?例:

Collections.sort(civs,Comparator.comparing(Civilization::getStrategy.getStrategLevel));
Run Code Online (Sandbox Code Playgroud)

getStrategy一个的Civilization实例返回一个Strategy具有实例方法的对象实例getStrategyLevel

为什么该Comparator.comparing方法不返回带有由lambda表达式实现的功能接口的比较器?

java lambda comparator java-8 method-reference

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

嵌套循环的大O复杂性

for (i = 0; i < 2*n; i += 2) 
{
  for (j=n; j > i; j--)
    //some code that yields O(1)
}
Run Code Online (Sandbox Code Playgroud)

我认为上面会产生n*log(n)但我已经看到另一个消息来源说它真的是n^2复杂的大哦.请向我解释它是什么以及我将来如何处理这样的问题.

java big-o computer-science

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