Java Enumerationでforeachを使用できないのはなぜですか?
2023-09-24 17:27:52
質問
なぜできないのでしょうか。
Enumeration e = ...
for (Object o : e)
...
どのように解決するのですか?
なぜなら
Enumeration<T>
は拡張されないからです。
Iterable<T>
. 以下は
を使ったイテラブル列挙の例です。
.
なぜそれが興味深い質問なのかについて。これはあなたの質問とは違いますが、それについていくつかの光を当てています。からの Java Collections API 設計に関する FAQ :
<ブロッククオートIteratorはなぜEnumerationを拡張しないのですか?
のメソッド名は不幸なものだと考えています。 Enumeration のメソッド名は不幸なものだと考えています。それらは 非常に長く、そして非常に頻繁に使用されます。 メソッドを追加して、まったく新しいフレームワークを作ることを考えると 全く新しいフレームワークを作るのですから この機会を利用しないのは愚かだと思いました。 この機会を利用しないのは と考えました。もちろん で新旧の名前をサポートすることもできますが もちろんIteratorで新旧の名前をサポートすることもできますが、それはあまり は価値がないように思えます。
それは基本的に、Sunが非常に初期のJavaでかなり冗長な構文であるEnumerationから距離を置きたいと考えていることを示唆しています。
関連
-
Javaがテキストファイルを読み込む
-
アノテーション「@Retention」の役割
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] B "の印刷が "#"の印刷より劇的に遅いのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
プロジェクトの依存関係を解決できない。
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException:5 エラー
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
java.sql.SQLException: 結果セットの開始前
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
Junitのユニットテストエラー
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
switch case文のcaseの後の列挙定数は列挙型なし