Java 8,静态方法与函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 8,静态方法与函数相关的知识,希望对你有一定的参考价值。
在Java 8中,我想创建一些返回参数的东西,或者如果参数为null则创建一个实例。
我可以通过创建静态方法或UnaryOperator来完成此操作。以下方法在技术上是否相同,或者是否存在技术差异,我应该注意这两种方法:
静态方法
static Cat initOrReturn(Cat c) {
if (c==null) {
return new Cat();
}
return c;
}
功能
UnaryOperator<Cat> initOrReturn = c -> {
if (c==null) {
return new Cat();
}
return c;
}
答案
首先你的代码有语法错误,在c
和{
之间的第二个第一行应该有一个->
。
第二个创建一个匿名对象,第一个只创建一个静态方法。 所以他们不一样。
此外,静态方法可以在流API中使用。 如果你有:
class A {
static Object a(Object x) { return x; /* replace with your code */ }
}
您可以:
xxxList().stream().map(A::a)
创建方法通常被认为是脏的,因为它是全局可见的。 建议在不声明变量的情况下使用lambda表达式。
以上是关于Java 8,静态方法与函数的主要内容,如果未能解决你的问题,请参考以下文章