web-dev-qa-db-ja.com

ラムダ式はこの言語レベルではサポートされていませんIDEA

最初のfxml Javaプロジェクトを作成しようとしています。初期化段階では、たとえば、テーブル列のセル値ファクトリを設定しようとしています。

      @FXML
        private void initialize() {
        agentId.setCellValueFactory(cellData -> cellData.getValue().getIdProperty());
       .....}

これは赤で下線が引かれ、タイトルに記載されているエラーが発生します。プロジェクト構造の言語レベルを変更しても効果はありません。エラーの理由は他に何がありますか?

UPD:公式リリースに含まれていないラムダを使用してJavaをインストールする必要があることがわかりました。私はそれをしましたが、それでも役に立ちませんでした。ダウンロードしました ここ

9
Nikitin Mikhail

答えは次のとおりです。プロジェクト構造->プロジェクトだけでなく、プロジェクト構造->モジュールでも言語レベルを変更する必要がありました。

13
Nikitin Mikhail

私はこの問題を取り除くためにいくつかのことをしなければなりませんでした。

  1. ファイル>プロジェクト構造>プロジェクト>プロジェクトSDK:次のように変更しますJava 1.8.XX
  2. ファイル>プロジェクト構造>プロジェクト>言語レベル:SDK 8(私の場合、SDKのデフォルトはすでに8でした)
  3. ファイル>プロジェクト構造>モジュール>ソース> SDK 8(私の場合、SDKのデフォルトはすでに8でした)
  4. ファイル>設定>ビルド、実行、デプロイ>コンパイラ> Javaコンパイラ>プロジェクトバイトコードバージョン> 1.8
  5. ファイル>設定>ビルド、実行、デプロイメント>コンパイラ> Javaコンパイラ>モジュールごとのバイトコードバージョン>ターゲットバイトコードバージョン> 1.8

それでうまくいくはずです。

22
Fernando Raposo

Android Studioバージョン3.2.1を使用している場合は、以下の手順を使用して言語レベルを変更できます。

  1. プロジェクト構造に移動
  2. モジュールセクションで、アプリをクリックします。
  3. [プロパティ]タブで、[ソースの互換性]を1.8に変更します。
6
Sanath Kumar
  1. Android Studio)の左上隅にあるFileをクリックします。
  2. プロジェクト構造をクリックします。
  3. アプリをクリックします。
  4. プロパティを選択し、ソース互換性1.8に設定します=。
4
Ashu

「AndroidStudio」バージョン3.3の場合:

  1. 「ファイル」(「AndroidStudio」の左上隅)をクリックします。
  2. 「プロジェクト構造」をクリックします。
  3. 「アプリ」(「モジュール」の下)をクリックします。
  4. [プロパティ]タブで、[ソースの互換性]の値を[1.8]に変更します。
  5. [プロパティ]タブで、[ターゲットの互換性]の値を[1.8]に変更します。

この解決策は私のために働いた。

3
DMT

上記を実行してもまだ修正されていない場合、および新しいモジュールをセットアップする場合は、モジュールのソースフォルダーが親モジュールに追加されていないことを確認してください。これは親モジュールの設定であるため、1.5でコンパイルされていることがわかりました(親にはJava source)が含まれていないため)。1.8に更新すると、最終的に警告が削除され、モジュールのソースが削除されました親モジュールのフォルダ。ファイル>プロジェクト構造>モジュール(モジュールの親)>ソース>言語レベル

1
nick.t.hacker