【发布时间】:2017-11-14 21:25:55
【问题描述】:
我不断得到表达式可以用 Java 8 的 lambda 替换。我该怎么做?这是我收到该消息的一种表达方式:
Observable.create(new ObservableOnSubscribe<Pair>() {
@Override
public void subscribe(@io.reactivex.annotations.NonNull ObservableEmitter<Pair> observableEmitter) throws Exception { ...
有什么想法吗?
【问题讨论】:
-
@GabeSechan 他们不一样。
this对他们来说是不同的;在 lambda 的情况下可能会创建更少的对象 - 每个调用站点一个;一个是通过invokedynamic在运行时创建的,另一个不是,还有更多区别 -
@GabeSechan 首先,我的评论不是是为了以任何方式说服你;这只是为了表明存在差异 - 对某些人来说很重要,而对其他人来说显然不是那么重要。
-
@GabeSechan 我编译的一个:pastebin.com/n2C0VE5i and stackoverflow.com/questions/27524445/… and stackoverflow.com/questions/16827262/…
-
@GabeSechan 作为旁注,
invokedynamicis(java-9 中的字符串连接)已被使用,并将在 jdk-10 中进一步利用和使用。跨度> -
@GabeSechan IMO 你偏离了主题......但让我们停在这里:有一个差异,可能对某些人来说很重要
标签: android lambda java-8 rx-java rx-java2