私は私のプログラムでは、配列の内容を操作するためにJava 8のStream
機能を使用しています:import java.util。*;の違いは何ですか? import java.util.stream ;?
Obstacle[] closestObstacles = Stream.generate(() -> new Obstacle()).limit(8).toArray(Obstacle[]::new); // one for each line of attack
私はこのようなStream
インポートしてみてください:import java.util.*;
私は「ストリームは解決できないシンボル」エラーが発生します。代わりにStream
を次のようにインポートすると、java.util.stream;
が正常に動作します。なぜこれが起こるのですか? Stream
や私のプログラムのどこかで "stream"という名前のものを使用しないので、名前の衝突はないと思いますか?
2回目の試行がうまくいかないと思います。おそらく 'import java.util.stream。*;'?ワイルドカードを使用してインポートすると、このパッケージの直接クラスのみがインポートされます。**サブパッケージのクラスではありません。したがって、 'java.util。*のインポート 'では、[ここ](https://docs.oracle.com/javase/9/docs/api/java/util/package-summary.html)にリストされているすべてのクラスとインタフェースをインポートします。 )。 'Stream'クラスは実際には[java.util.list.stream'パッケージ(https://docs.oracle.com/javase/9/docs/api/java/util/stream/package-summary)にあります。 html)。 – Turing85
実際、 'java.util.stream。*'をインポートすると 'java.util.stream'パッケージ内のすべてがインポートされます。 'java.util.stream'をインポートすると失敗します:' error:シンボルを見つけることができません ' –
おそらく他の' Stream'クラスがどこかにインポートされているかもしれません。 util。*; 'は完全に動作しました –