第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么Eclipse Java編譯器(ecj)不能編譯此文件?

為什么Eclipse Java編譯器(ecj)不能編譯此文件?

慕森王 2021-04-08 18:15:00
我有以下代碼:package test;import java.util.stream.IntStream;public class A {    public static void main(String[] args) {        IntStream.range(0, 10).mapToObj(n -> new Object() {            int i = n;        }).mapToInt(o -> o.i).forEachOrdered(System.out::println);    }}使用javac 1.8.0_101編譯時,此代碼可以正常工作,并按預期產(chǎn)生數(shù)字0到9。但是當我在eclipse中使用此代碼時,它在o.i以下位置告訴我:i cannot be resolved or is not a field并在執(zhí)行此操作時產(chǎn)生錯誤:Exception in thread "main" java.lang.Error: Unresolved compilation problem:     i cannot be resolved or is not a field    at test.A.main(A.java:9)為什么需要使用javac來編譯此代碼?而我該如何使日食表現(xiàn)得更好呢?
查看完整描述

1 回答

?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

這是ecj中的錯誤,最近也報告為Bug 535969。

簡而言之:為避免出現(xiàn)棘手的技術(shù)問題,編譯器會在類型推斷期間刪除匿名類,并用其父類代替它(在特定情況下,并非總是如此)。這樣,結(jié)果將mapToObj()被視為Stream<Object>確實應使用匿名類的地方。最初的評估認為此信息丟失是可以的(因為沒有人可以提及匿名類),此問題中的示例證明這是錯誤的。


查看完整回答
反對 回復 2021-04-21
  • 1 回答
  • 0 關(guān)注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號