タグ付けされた質問 「java-8」

このタグは、2014年3月18日にリリースされたJavaプラットフォームのバージョン8(内部番号1.8)であるJava 8に固有の質問に使用します。ほとんどの場合、javaタグも指定する必要があります。

6
Java FutureをCompletableFutureに変換する
Java 8ではCompletableFuture、構成可能なFutureの新しい実装であるが導入されています(thenXxxメソッドの束が含まれています)。これを排他的に使用したいのですが、使用したいライブラリの多くは、合成できないものだけを返しますFutureインスタンスます。 返されたFutureインスタンスをの中にラップして、CompleteableFutureそれを作成できるようにする方法はありますか?
92 java  java-8  future 

6
ストリームを使用してカスタムコンパレータを使用してTreeSetに収集する
Java 8で作業していると、TreeSet次のように定義されます。 private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport 次のように定義されたかなり単純なクラスです。 public static final class PositionReport implements Cloneable { private final long timestamp; private final Position position; public static PositionReport create(long timestamp, Position position) { return new PositionReport(timestamp, position); } private PositionReport(long timestamp, Position position) { this.timestamp = timestamp; this.position = …

5
java.util.Objects.isNullvsオブジェクト== null
ご存知のように、java.util.Objectsあります このクラスは、オブジェクトを操作するための静的ユーティリティメソッドで構成されています。 そのような方法の1つはObjects.isNull()です。 私の理解ではObjects.isNull()、2番目のを省略して、誤ってnull値をオブジェクトに割り当てる可能性を排除します=。 ただし、APIノートには次のように記載されています。 このメソッドは、述語、filter(Objects :: isNull)として使用するために存在します ifステートメントで使用object == nullする必要がある理由/状況はありますか?Objects.isNull() Objects.isNull()述語だけに限定する必要がありますか?
92 java  java-8  compare 

3
インターフェースで定義されたメソッドの「デフォルト」実装とは何ですか?
コレクションインターフェイスで、removeIf()その実装を含むという名前のメソッドを見つけました。 default boolean removeIf(Predicate<? super E> filter) { Objects.requireNonNull(filter); boolean removed = false; final Iterator<E> each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; } インターフェイスでメソッド本体を定義する方法があるかどうか知りたいですか?キーワードと は何defaultですか?
91 java  interface  java-8 

27
レジストリキーエラー:Javaバージョンの値は「1.8」ですが、「1.7」が必要です
実行中 sencha app build production 次のエラーが発生します。 エラー:レジストリキー 'Software \ JavaSoft \ Java Runtime Environment' \ CurrentVersion ' 値は「1.8」ですが、「1.7」が必要です。エラー:java.dllが見つかりませんでしたエラー:Java SEランタイム環境が見つかりませんでした。 java -version 、コマンドは以下を示しています: Javaバージョン "1.8.0_40" Java(TM)SEランタイム環境(ビルド1.8.0_40-b26)Java HotSpot(TM)64ビットサーバーVM(ビルド25.40-b25、混合モード) パスが間違っている場所を見つけることができません。何か案が? -----------------------編集-------------------------- ---------------------- 注:Windows 7(64ビット)を使用しています。 sencha touch cmdをアンインストールして再インストールしてみました。しかし、それでも同じエラーです。 すべてのJavaバージョンのインスタンスをアンインストールし、最新のインスタンスを再インストールしましたが、それでも問題は解決しません。


7
Java 8でのfindAny()とfindFirst()の違い
Наэтотвопросестьответынаスタックオーバーフローнарусском:КакиеразличиямеждуのFindFirstиfindAnyвJavaの8? Java8のAPIStream#findAny()とStream#findFirst()の間で少し混乱してい Streamます。 私が理解したのは、たとえば、フィルターと組み合わせて使用​​した場合、両方がストリームから最初に一致した要素を返すということです。 では、なぜ同じタスクに2つの方法があるのでしょうか。私は何かが足りないのですか?

6
Android API <24でJava8 Stream APIを使用することは可能ですか?
私はここでこの投稿を読みました。しかし、それでもminSdkVersion &lt;24で次のようなJava8 StreamAPI機能を含むコードを実行することはできません。 List&lt;Car&gt; newCars = cars.stream() .filter(s -&gt; s.getColor().equals("red")) .collect(Collectors.toList()); エラーメッセージが原因で実行されません 呼び出しにはAPIレベル24が必要です(現在の最小値は15):java.util.Collection#stream それで、誰かが解決策を知っていますか?

5
最初に見つかった要素がnullの場合、findFirst()がNullPointerExceptionをスローするのはなぜですか?
なぜこれがスローするのjava.lang.NullPointerExceptionですか? List&lt;String&gt; strings = new ArrayList&lt;&gt;(); strings.add(null); strings.add("test"); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse("StringWhenListIsEmpty"); //.orElse(null); // Changing the `orElse()` to avoid ambiguity の最初の項目stringsはnull、です。これは完全に許容できる値です。さらに、オプションをfindFirst()返します。これは、sを処理できるようにするためにさらに意味があります。findFirst()null 編集:orElse()あいまいさが少なくなるようにを更新しました。

7
Java 8でZoneIdをZoneOffsetに変換する方法はありますか?
method1によってエポック秒とzoneIdがあります。システムのデフォルトのzoneIdを使用してLocalDateTimeに変換できますが、メソッド2によってエポック秒をLocalDateTimeに変換する方法が見つかりませんZoneOffset.systemDefault。これは、あいまいだと思います。 import java.time.{Instant, LocalDateTime, ZoneId, ZoneOffset} val epochSecond = System.currentTimeMillis() / 1000 LocalDateTime.ofInstant(Instant.ofEpochSecond(epochSecond), ZoneId.systemDefault())//method1 LocalDateTime.ofEpochSecond(epochSecond, 0, ZoneOffset.MAX)//method2

5
null値のjdk8ストリームをどのように管理する必要がありますか
こんにちは仲間のJava開発者、 in advanceJDK8がまだリリースされていないので(そして今のところまだリリースされていないので)、主題が少しかもしれないことは知っていますが、Lambda式、特にStreamとして知られる新しいコレクションAPIに関連する部分に関する記事を読んでいました。 これは、Java Magazineの記事に記載されている例です(これはカワウソの個体数アルゴリズムです。): Set&lt;Otter&gt; otters = getOtters(); System.out.println(otters.stream() .filter(o -&gt; !o.isWild()) .map(o -&gt; o.getKeeper()) .filter(k -&gt; k.isFemale()) .into(new ArrayList&lt;&gt;()) .size()); 私の質問は、Set内部反復の途中で、カワウソの1つがnullの場合はどうなるかということです。 NullPointerExceptionがスローされることを期待しますが、以前の開発パラダイム(機能しない)にとどまっている可能性があります。誰かがこれをどのように処理するかについて教えてもらえますか? これが本当にNullPointerExceptionをスローする場合、この機能は非常に危険であり、以下のようにのみ使用する必要があります。 null値がないことを確認する開発者(おそらく以前の.filter(o-&gt; o!= null)を使用) 開発者は、アプリケーションがnullカワウソまたは処理する特別なNullOtterオブジェクトを生成しないようにします。 最良のオプション、または他のオプションは何ですか? ありがとう!


5
Java 1.8 ASMClassReaderがクラスファイルの解析に失敗しました-おそらくまだサポートされていない新しいJavaクラスファイルバージョンが原因です
私のWebアプリケーションはJDK1.7で正常に動作しますが、次の例外を除いて1.8でクラッシュします(Jetty 8でのアプリケーションサーバーの起動中)。Springバージョン3.2.5.RELEASEを使用しています。 例外: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet 春とそれが依存する「asm.jar」ライブラリが原因で問題が発生すると思います。 これを解決するにはどうすればよいですか?
87 java  spring  java-8 

14
Java 8、重複する要素を見つけるためのストリーム
整数リスト内の重複する要素をリストアップしようとしています。 List&lt;Integer&gt; numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); jdk8のStreamsを使用します。誰かが試しましたか。重複を削除するには、distinct()APIを使用できます。しかし、重複した要素を見つけるのはどうですか?誰かが私を助けることができますか?

3
静的初期化子でラムダを使用した並列ストリームがデッドロックを引き起こすのはなぜですか?
静的初期化子でラムダを使用して並列ストリームを使用すると、CPU使用率がなく、一見永遠にかかるという奇妙な状況に遭遇しました。コードは次のとおりです。 class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -&gt; i).count(); System.out.println("done"); } public static void main(final String[] args) {} } これは、この動作の最小限の再現テストケースのようです。もし私が: 静的初期化子の代わりにmainメソッドにブロックを配置します。 並列化を削除する、または ラムダを削除し、 コードは即座に完了します。誰かがこの振る舞いを説明できますか?それはバグですか、それともこれは意図されたものですか? OpenJDKバージョン1.8.0_66-internalを使用しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.