[解決済み] Javaにおける<E>構文の意味を教えてください。
2022-03-05 02:43:25
質問
検索してみたのですが、的確な検索パラメータが見つからず、また思いつきませんでした。
Javaを独学で勉強しているのですが、ある構文の意味がわからないようです。
public class Node<E>{
E elem;
Node<E> next, previous;
}
は何を意味しているのでしょうか?
<E>
を意味するのでしょうか? 矢印の中括弧はベクトルに関係するものだと漠然と覚えているのですが、上のコードからすると、列挙に関係するもののような気がしています。
何かお手伝いやご説明があれば、とてもありがたいです。 ありがとうございます。
解決方法は?
これらは ジェネリック .
一般に、これらによって タイプ (クラスとインターフェース) を、クラス、インターフェース、メソッドを定義する際のパラメータにすることができます。
ジェネリックスを使用すると、Javaのチュートリアルにあるように、ジェネリックスでないコードを使用するよりも多くの利点があります。
-
<強い コンパイル時の型チェックを強化しました。 Javaコンパイラは、汎用的なコードに対して強い型チェックを行い、型安全性に違反するコードがあればエラーを出します。コンパイル時のエラーを修正することは、見つけるのが難しい実行時のエラーを修正するよりも簡単です。
例えば
// without Generics List list = new ArrayList(); list.add("hello"); // With Generics List<Integer> list = new ArrayList<Integer>(); list.add("hello"); // will not compile
-
プログラマが汎用的なアルゴリズムを実装できるようにすること。 ジェネリックスを使うことで、プログラマーは、異なる型のコレクションで動作し、カスタマイズ可能で、型安全で読みやすいジェネリックスアルゴリズムを実装することができる。
-
キャストの排除
例えば、ジェネリックを使用しない以下のコードスニペットは、キャスティングが必要です。
List list = new ArrayList(); list.add("hello"); String s = (String) list.get(0);
ジェネリックスを使うように書き直すと、キャスティングが不要なコードになります。
List<String> list = new ArrayList<String>(); list.add("hello"); String s = list.get(0); // no cast
関連
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] なぜ ++[[]][+[] +[+[]] は "10" という文字列を返すのでしょうか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] java.lang.IncompatibleClassChangeError: Mongo クラスを実装しています。
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] Mavenです。JARは空になります - 含有するためにマークされたコンテンツがありません
-
[解決済み] javaでメソッドを呼び出すプログラムのエラー修正
-
[解決済み] JavaFX 同じパッケージ内なのに「場所が必要です。