問題タブ [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 - Java 8コンパイラエラー-より多くの情報を取得する方法は?
Java 8 ea b72で遊んだのですが、コンパイラエラーが発生します。javacからより多くの情報を取得する方法はありますか?たとえば、現在作業中のファイルリストはありますか?どこを見ればよいかという一般的な考えがあれば、問題が修正されるまで回避策を見つけることができるかもしれません。
念のため、スタックトレースを次に示します(IntelliJ IDEA、BTWの外部でコンパイルした場合も同様に見えます)。
java - Java「静的インポート」とJava8の「静的インポート」
Javaで静的インポートを使用しようとしましたが、間違って記述していました
そして、コンパイルされたコード(「out」記号は見つかりませんでしたが)、構文エラーはありません。
では、「静的インポート」は実際にはどういう意味ですか?
java - Java 8 で Clojure 関数を Lambda として使用できますか?
「 clojure.lang.IFn」インターフェースに準拠する高階関数を生成する Clojure のライブラリーを多数使用しています。
複数のアリティ オーバーロードがあります。つまり、インターフェイスは次のようになります。
このタイプのオブジェクトを Java 8 で呼び出し可能なラムダ関数として直接使用できますか?
java - jdk 8のインターフェースで静的(継承されていない)メソッドを定義するための正しい構文は何ですか?
仮想拡張メソッド/別名デフォルトのオーバーライド可能なメソッドの構文(jdk 8)は十分に文書化されています:
しかし、インターフェイス上の静的な非継承メソッドの正しい構文のリファレンスが見つかりません か?
java - Java8での「機能インターフェイス」の正確な定義
最近、Java 8の調査を開始しましたが、Javaによるラムダ式の実装に不可欠な「関数型インターフェース」の概念を完全に理解することはできません。Javaのラムダ関数に関するかなり包括的なガイドがありますが、機能インターフェイスの概念を定義する章に行き詰まりました。定義は次のとおりです。
より正確には、機能インターフェイスは、1つの抽象メソッドを持つインターフェイスとして定義されます。
次に、彼は例に進みます。その1つはComparator
インターフェースです。
Comparator引数の代わりにラムダ関数を使用できることをテストできました(つまりCollections.sort(list, (a, b) -> a-b)
)。
ただし、Comparatorインターフェースでは、メソッドcompare
とequals
メソッドの両方が抽象的です。つまり、2つの抽象メソッドがあります。では、定義でインターフェイスに1つの抽象メソッドが必要な場合、これはどのように機能するのでしょうか。ここで何が欠けていますか?
java - Java 8 Map と Reduce が実行されない
Project Lambdas の .map() メソッドを使用して List オブジェクトからデータを抽出していました。以前は、Jdk 1.8 には Mapper インターフェイスが含まれていましたが、今では map メソッドが Function インターフェイスを取得することがわかります。以下の私の方法の使用法:
いくつかのアイテムをnutListに追加し、以下のメソッドを使用してゲッターでフィールド値を抽出しました。
ただし、n パラメータ以上は Object のように動作し、元のオブジェクトのメソッドにはアクセスしません。この使用法は通常 Mapper Functional インターフェイスで実行されました。
javascript - Javaで即時関数呼び出しを作成する方法は? 提供される JavaScript の例
以下の JavaScript の例を、ラムダを使用して Java 8 の対応するコードに変換する方法。Java 8ラムダを取得しようとしています。
構成例。
Java 8で書いてみましたが、構文か何かが間違っています。以下のコードを参照してください。
ありがとう。
java - Android JavaはJava 8でラムダ式をサポートしますか?
dalvik vm の「java」は、API やアーキテクチャなどの点で Java se とは異なることを理解しています。ただし、構文は常に同じです。(間違っていたら訂正してください)
Java 8 でのラムダ式のサポートがリリースされようとしていますが、Android Java はそれに従いますか? google または aosp は、dalvik を Java SE と一致させることを約束しましたか?
更新: Android 4.4 Kit Kat (API 19) と同様に、Java 7 構文が正式にサポートされました。android.com からのソース
java - Java 8 で java.util.stream.Stream からリストを取得する
コレクションを簡単にフィルタリングするために、Java 8ラムダをいじっていました。しかし、結果を同じステートメント内の新しいリストとして取得する簡潔な方法が見つかりませんでした。これまでの私の最も簡潔なアプローチは次のとおりです。
ネット上の例は、新しい結果リストを生成せずに停止するため、私の質問に答えませんでした。もっと簡潔な方法があるはずです。クラスには、 、 … のStream
ようなメソッドがあると予想していました</p>
toList()
toSet()
変数targetLongList
を 3 行目で直接代入する方法はありますか?
java - ラムダとputIfAbsent
私はここに答えを投稿しました。ここで、読み取りputIfAbsent
方法の使用を示すコードは次のとおりです。ConcurrentMap
このアプローチの主な欠点は、使用するかどうかに関係なく、マップに配置する新しいオブジェクトを作成する必要があることです。オブジェクトが重い場合、これは大きな影響を与える可能性があります。
これはLambdasを使用する機会になると思いました。Java 8 n'をダウンロードしていません。または、公式(会社のポリシー)になるまでダウンロードできますので、これをテストすることはできませんが、このようなものは有効で効果的ですか?
ラムダを使用しnew AtomicLong(0)
て、マップに存在しないために作成する必要があると実際に判断されるまで、の評価を遅らせることを望んでいます。
ご覧のとおり、これははるかに簡潔で機能的です。
基本的に、私の質問は次のとおりだと思います。
- これは機能しますか?
- または、ラムダを完全に誤解しましたか?
- いつかこのようなことがうまくいくでしょうか?