看Java1.8自带的源代码时,看到了 -> 符号,这个符号是什么意思?
在Java1.8的源码里,有一个 Consumer 接口,其中有个方法,如下:
default Consumer<T> andThen(Consumer<? super T> after) { Objects.requireNonNull(after);
return (T t) -> { accept(t); after.accept(t); };
}
接口全部代码如图:
请问:
(1)Java里没有指针操作符,这里的 -> 是什么意思?
(2)return 后面是一个什么样的语法?
回答:
这是java8的lambda新特性
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html
->
是lambda的操作符利用lamdba表达式简化书写。与以下的写法等价:
public interface MyConsumer { public void accept(Object o);
default MyConsumer andThen(MyConsumer after){
return new MyConsumer() {
@Override
public void accept(Object o) {
MyConsumer.this.accept(o);
after.accept(o);
}
};
}
}
回答:
这个是Java8的一个新的特性:lambda表达式。可以看这个https://segmentfault.com/a/1190000003941446
以上是 看Java1.8自带的源代码时,看到了 -> 符号,这个符号是什么意思? 的全部内容, 来源链接: utcz.com/p/174119.html