問題タブ [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.

0 投票する
5 に答える
3815 参照

java - 今後のJava8リリースでの仮想拡張メソッド

次のようなコードスニペットを見ると

一つ質問があります。Javaで十分なsh*tをすでに取得していませんか?なぜこれが必要なのですか?

0 投票する
2 に答える
1280 参照

java - Java 8 : Java 7 の一般的な採用に先行する方法

Java 8 に関するニュースがますます増えていますが、Java 7 が多くの場所で採用され始めたばかりです。たとえば、私の職場では、Java 7 を使用している人もいますが、まだ Java 6 を使用しています。

私は疑問に思っています-Javaの利用可能なバージョンの制限は何ですか? 新しい Java 仕様が展開され、実装される頻度はどれくらいでしょうか。Java 7 はまだ進化していたので、Java 8 はずっと先のことだと思っていました。

たぶん、私が見逃しているこの種の詳細については、適切な (tl;dr 以外の) 公式ソースがあるかもしれません。もしあれば、お知らせください。

0 投票する
1 に答える
4638 参照

java - netbeans での java8/jdk8 コードのコンパイルと実行 - コンパイルできないソース コード

メモ帳でJDK 1.8のプレビューを試し、コマンド ラインからファイルをコンパイルした後、netbeans を試してみて、何が起こるか見てみようと思いました。

JDK 1.8 を正常に追加し、次の設定を変更しました。

プロパティ -> ライブラリ -> Java プラットフォーム: JDK 1.8

プロパティ -> ソース -> ソース/バイナリ形式: JDK 8

netbeansClean and buildからプロジェクトを作成すると、正常にビルドされます。そして、次のコマンドでプロジェクトを実行することを提案します:

javac 1.8.0-ea

Ant を使用せずにコマンド ラインからこのアプリケーションを実行するには、次を試してください。

C:\Program Files\Java\jdk1.8.0/bin/java -jar "C:\Java8\JavaBacon\dist\JavaBacon.jar"

コマンドラインからでも問題なく動作します!

しかしRun、プロジェクトを実行しようとすると、次の例外が発生します。

ビルドはできるが、実行できない??

これに対する私の現在の回避策は、ライブラリを構築できるため、Java8 コードを別の場所に置き、Java Class Libraryメイン プロジェクトから呼び出すことです。明らかに、java8 の機能を使用すると、赤い波線、インテリセンスの欠如、および への自動フォーマットの変更が表示->され- >ますが、ビルドされます! (とても素敵です:D)

Runしかし、プロジェクトに参加できない理由は何ですか?

アップデート:

Compile On Save以下の設定を無効にすると、例外はなくなります。

プロパティ > ビルド > コンパイル中

http://netbeans.org/bugzilla/show_bug.cgi?id=199293

0 投票する
9 に答える
94677 参照

java - 「JavaConcurrencyInPractice」はまだ有効ですか?

実際のJava並行性はまだ有効ですか?この本で説明されているアイデア、概念、および実装が、最新のJavaバージョンに準拠しているかどうか疑問に思っています。

最新版は2006年に作成されたのでお願いします。

0 投票する
2 に答える
3364 参照

netbeans-7 - Netbeans 7.1.1+JDK8 (jdk-8-ea-bin-b35) でコンパイルするラムダを取得できません

重複の可能性:
Java 8 でラムダ式が機能しない?

ラムダを使用したシンプルで無意味なアプリ:

public static void main(String[] args) { FileFilter java = (ファイル f) -> f.getName().endsWith(".java"); }

JDK 8 を使用するように設定します。ラムダを使用しない場合、コンパイル/正常に実行されます。

しかし、私が得た場合:

1 つのソース ファイルを ...\JavaApplication1\build\classes にコンパイルしています ...JavaApplication1\src\javaapplication1\JavaApplication1.java:20: エラー: ラムダ式は -source 1.8 ではサポートされていません FileFilter java = (File f) -> f .getName().endsWith(".java"); (ラムダ式を有効にするには -source 8 以上を使用してください) 1 エラー

ソース 8 にするかソース 1.8 にするかで混乱しているようです


ラムダ固有のバージョンを使用している場合に機能するようになりました。たとえば、以下は正常に実行されます。

0 投票する
3 に答える
7056 参照

java - Eclipse 4.2 および Java 8

Juno の Java 8 サポートが延期されたことを示すこのページを見つけましたが、人々が Eclipse で最初のクロージャーを記述して生産性を高めることができるようになるまでにどれくらいの時間がかかるかについて、詳細な情報を見つけることができません。

まだどれくらい待たなければならないか、誰かが洞察を得ましたか? Java7 の機能は 3.7 で非常に迅速に実装されました。そのため、このタスクが延期されるのは奇妙です。

コメント、アイデアはありますか?それとも良い回避策でしょうか?

0 投票する
2 に答える
286 参照

java - OpenJDK プロジェクトの有効な RSS 変更はどこにありますか?

ラムダプロジェクトなど、RSS を介して JDK のプロジェクトの最新の変更について通知を受けたいと思っていました。http://hg.openjdk.java.net/lambda/lambda/jdk/rss-logは有効な RSS 出力ではないようですが、OpenJDK プロジェクトの有効な RSS はどこにありますか?

0 投票する
8 に答える
5085 参照

java - コンパレータが等しいと宣言するのはなぜですか?

Comparatorインターフェースには独自のequals()メソッドがあります。すべてのクラスはequals()、デフォルトでObjectクラスを介して取得されます。equals()インターフェイス内にメソッドを含める必要はありますか?

0 投票する
4 に答える
11852 参照

java - Java 8ラムダ構文で中括弧がオプションになるのはいつですか?

Java 8ラムダの実装は変更される可能性があることを認識していますが、ラムダビルドb39では、ラムダ式が非void型を返す場合にのみ中括弧を省略できることがわかりました。たとえば、これは次のようにコンパイルされます。

しかし、次のように中括弧を削除します。

エラーが発生します

誰かがここで何が起こっているのか説明できますか?

0 投票する
2 に答える
17157 参照

java - ラムダ式は Java 8 では機能しませんか?

Windows XP SP3 32 ビットを実行している仮想マシンがあります。このマシンに Java SE JDK 8 build b44 Developer Preview をhereからインストールしました。

JavaFX 2.1 SDK もインストールしました。

それはうまくいきます:

次のプログラムを実行してみました(ここから取得):

プログラムは期待どおりにコンパイルされ、実行されました。

その記事の指示に従い、ボタンのイベント処理コードを次のコードに置き換えました。

コンパイル時に、次のエラーが発生します(行上button.setOnAction((ActionEvent event)->):

引数を追加しましたが-source 8、何も変わりません。

私が欲しかったのは、Java 8 のラムダ式の機能を確認することだけでした。なぜ機能しないのですか?