2017-03-08 13 views
-4

javaにはAnyTypeとは何ですか?いつ私はそれを使うべきですか?このコードの例TestRpn<AnyType extends Comparable<AnyType>>については AnyTypeあるものスニペット、それは(整数、ブールのように、すなわちを)データの種類を持つことができますjava genericsの `AnyType`とは何ですか

+1

それは文字通りどんなタイプですか; –

+1

この質問をする前に何を研究しましたか?私はかなりあなたの検索エンジンがあなたがここでそれを持っているよりも速く答えを見つけたと確信しています。 –

答えて

4

AnyTypeという名前の定義済みのタイプはありません。私はあなたが型の悪いパラメータ型変数に遭遇したと推測しています。この種の混乱を避けるため、型変数の命名規則はsuggested to be single uppercase lettersです。

あなたの場合、TestRpn<AnyType extends Comparable<AnyType>>TestRpn<E extends Comparable<E>>と言い換えてください。つまり、自分のタイプに対してComparableを実装しているすべてのタイプをEに置き換えることができます。例:java.lang.StringはComparable<String>を実装しているので、TestRpn<String>は上記の基本型の有効なパラメータです。

+0

そしてそれらは単一の文字でなければなりません:http://stackoverflow.com/a/2900933/2545439 –

+1

@PieterDeBieほとんどの場合、はい。有効な反例があります(例:値の関数を処理することによって、あるマップを別のマップに変換する方法。このような方法は、タイプパラメータK、V1およびV2を有する。 –

+1

確かに。正直言って、私は大会が大好きではありません。時には、わかりやすいタイプの名前があります。 –

1

実際にAnyTypeがjava7 +で使用されています。その使用法はEやTなどと同じだと言えます。名前が示唆するように、それは任意のタイプの汎用データであることができる。私はJavaで私の一般的なリンクリストを実装する際 には、例えば、私は言葉するANYTYPEは、ジェネリック型ノードを表します

private Node<AnyType> head; 

を使用しました。

関連する問題