問題タブ [java-8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ラムダを使用してJDK8の機能インターフェースのtoStringメソッドをオーバーライドできますか
関数型インターフェースの toString メソッドをオーバーライドできますか? または言い換えます。関数型インターフェースを実装し、ラムダで toString メソッドをオーバーライドする匿名の内部クラスを変更するエレガントな方法はありますか? JDK8 でラムバ式を作成するときに toString をオーバーライドできますか?
iface の toString をオーバーライドできますか?
java - Java 8 Iterable.forEach() と foreach ループ
次のうち、Java 8 でより適切な方法はどれですか?
Java 8:
Java7:
ラムダで「簡略化」できる for ループがたくさんありますが、それらを使用する利点は本当にありますか? パフォーマンスと可読性が向上しますか?
編集
また、この質問をより長い方法に拡張します。ラムダから親関数を返したり壊したりできないことは知っています。これらを比較する際には、これも考慮に入れる必要がありますが、他に考慮すべきことはありますか?
netbeans - Netbeans で JavaFx プラットフォームをセットアップできません
Windows で Netbeans 7.3 とともに JDK 8 アーリー アクセス (ビルド 90) を使用していますが、Java プラットフォームで JavaFx を有効にすると、JavaFx プラットフォームが正しく定義されていないと表示されます。jre8 パスを指定しようとしましたが、それでもエラーが続きます。JavaFx ランタイムを JRE 1.7 に設定するとエラーは表示されませんが、その場合、私の JavaFx コードは JDK8 でコンパイルされますが、JRE7 を使用して実行しようとすると、比較できないクラス バージョン エラーが発生します。
いくつかの最新機能を必要とする実験プロジェクトには JDK 8 を使用する必要があるため、JDK 7 に戻すことはできません。また、netbeans を使用してコンパイルするたびに、コマンド ラインで jar を個別に実行すると、生産性が低下します。
netbeans - JavaFx 8 が Netbeans Dev Build でエラーを出す
netbeans dev ビルドをダウンロードし、JDK 8 で JavaFx を使用してプロジェクトをセットアップしようとしました
まず、JDK 8 フォルダーを選択すると、netbeans のフラットフォーム ダイアログに JavaFx タブが表示されません。さらに、新しいJavaFxプロジェクトを作成したとき、プロジェクトのプロパティ->ライブラリで、以前の4つのjarファイルが表示されず、環境変数のみが表示されます。プロジェクトの実行中に、新しいバージョンの JDK が必要であると表示されます。lib/ext/jfxrt.jar を手動で追加すると、それのみが機能します
それは期待されていますか?
functional-programming - jdk8でリストとマップを操作する機能関数はどこにありますか
数日前に JDK8.0 アーリー アクセス リリースをダウンロードしました (ファイル名: jdk-8-ea-bin-b82-linux-x64-21_mar_2013.tar.gz
)
java.util.function
パッケージが見つかります。(インターフェイスのみが含まれています)、ラムダを完全に実行します。(わかった)
しかし、検索しても見つからなかったのは、リスト/マップ操作関数 ( forEach
、filter
、map
、 ... など) です。
そのため、チュートリアルではjava.util.List
インターフェイスで見つけると言っており、他のチュートリアルでは存在しないjava.util.Stream
クラスを参照しています。しかし、インターフェイスに新しいメソッドが見つからず、この新しいクラスも見つかりませんでした。
java - 配列ソートと parallelSort のパフォーマンス比較
リリースをダウンロードjava8-ea
し、 と をすばやく比較Array.sort
しましたArrays.parallelSort
。
そして、これが結果でした:
praralleSort は、少なくとも Plain oldsort
と同じくらい速く動作するはずだと理解できます..しかし、これは起こったことではありません。
次の仕様で行われた比較:
Intel Core i5
バージョンの JDK を搭載し4G RAM
たHP ProBook Ubuntu 13.04 Linux
:Java HotSpot(TM) 64-Bit Server VM (build 25.0-b23, mixed mode)
この方法で 3 つのフィールドのカスタム オブジェクトの配列を作成しました (予約順にオブジェクトを追加します)。
また、別の実行では、Parallel はリストに 10,000,000 が含まれている場合にのみパッドを実行し、それ以外の場合はすべて見栄えが良いことを示しています。
java - IntelliJ IDEA プロジェクト SDK の設定方法
IntelliJ IDEA をインストールしたばかりで、最初のプロジェクトを作成しようとすると、プロジェクト SDK をセットアップするように求められます。「JDK」をクリックすると、この画像に示すように、JDK のホーム ディレクトリを選択するよう求められます。
どこにあるか分からなくて困っています。
java - Java 8 java.util.stream.Streams
多くのブログ投稿で Streams クラスについて言及しているのを目にしますが、これはかつてラムダ ブランチ API の一部であったことがわかります。現在は非公開 API のようで、以前の実装とは一致しません。Streams.concat()
ストリームに複数の値を追加する、または追加する別の方法はありますか?