我有一個jar文件,它是在java 8中編譯的,我在java 6環境中編寫java代碼,它應該使用java 8編譯的jar文件。編譯器如何理解java 8編譯jar到Java 6編譯java類文件
怎麼可能 - 編譯器如何理解java 8的新特性(接口,lambda表達式等方法定義)?
我有一個jar文件,它是在java 8中編譯的,我在java 6環境中編寫java代碼,它應該使用java 8編譯的jar文件。編譯器如何理解java 8編譯jar到Java 6編譯java類文件
怎麼可能 - 編譯器如何理解java 8的新特性(接口,lambda表達式等方法定義)?
簡單的回答:你可以不是那樣做。
Java8包含Java6編譯器所做的語法而不是知道。
有像Retro lambda這樣的項目可以讓您在較舊的JVM上使用Java8功能。但是你不能改變java6編譯器來神奇地知道如何處理java8源代碼。
而使用復古lambda時,重點是:總有一定的機會,某些特定的東西不會像你期望的那樣工作。除此之外:在考慮使用Java8日期時間API時,您將不得不尋找另一個替代品。換句話說:在Java6環境中工作的「Java8」始終是一個上坡的戰鬥。它可能導致很多工作,並造成很大的痛苦。含義:在走下這條路之前 - 寧願花一些時間評估一下,如果它不是便宜在長期運行將您的環境移動到使用Java8。無論如何,你將不得不在某個時刻。
Java 6運行時環境不能理解Java 8的特定功能,因此在Java 6上運行Java 8代碼不會奏效。 – Jesper
我還沒有執行我的代碼,我剛剛在eclipse中使用java 6編譯器編寫代碼,並使用java 8編譯的jar。 – Afgan
如果你沒有執行?那你在找什麼? – sForSujit