J'ai découvert que Java 8 est officiellement publié maintenant. Il semble que j'ai besoin d'Eclipse Luna 4.4 pour que cela fonctionne. J'ai donc téléchargé Luna et l'ai installé. J'ai également importé tous mes projets de mes autres Eclipse, tout a fonctionné comme prévu. Quand j'ai voulu essayer Java 8, j'ai rapidement découvert que je devais d'abord l'installer. Après l'avoir installé, j'ai réussi à changer JRE 8 par défaut.
Ma question est: pourquoi puis-je utiliser la nouvelle API date et heure, mais je ne peux pas utiliser les nouvelles expressions Lambda?
Quelques informations qui pourraient être utiles:
Cela pourrait-il avoir quelque chose à voir avec le fait que je n'ai pas installé Eclipse avec Java 8 inclus?
Tout d'abord, vous n'avez pas besoin d'utiliser Luna - il y a un patch de fonctionnalité pour Kepler qui fonctionne très bien.
Deuxièmement, la partie "compatibilité source" de la boîte de dialogue Java Compiler doit être 1.8. Sinon, même si vous êtes autorisé à utiliser la bibliothèque fonctionnalités de Java 1.8, vous ne pourrez pas utiliser les fonctionnalités du langage ). (Ce n'est pas seulement des lambdas - il y a des références de méthode, des méthodes statiques dans les interfaces et des méthodes par défaut par exemple.) Voici où chercher:
Il serait rare que vous souhaitiez utiliser les fonctionnalités de la bibliothèque à partir de 1.8 mais garder la compatibilité source/classe avec 1.7 ou antérieur, mais je suppose que cela pourrait être utile si vous écriviez du code qui devait s'exécuter sur différents JRE, mais vous pourriez avoir certaines implémentations de fonctionnalités qui nécessitaient Java 1.8 et ne seraient tout simplement pas utilisées sur les JRE précédents.