2011-01-19 8 views
2

GenericExampleのJavaの構文はどのようになっていますか< ItemType(拡張または等しい)オブジェクト>?拡張のための一般的な構文

ありがとう、 Adam。

アップデート:すべてのあなたの返信用

感謝。ここ 答えは、コードでジェネリック医薬品の使用により関連している、私は例えば、減速実装を議論したいと思います:

class GenericExample<ItemType (extends or equal to) ParentType> { 
} 

class Inherited<ParentType> extends GenericExample<ParentType> { 
    /* The type parameter in this class does not compile. 
     I would like to find a work around to make something like this to work. 
     I would like to have ParentType=JComponent , and thus to specify that the 
     Inherited class uses JComponent for needed flexibility*/ 
} 

私は、これは、より理にかなって願っています...

アダム。

+0

私は*かなり*それはJavaでは不可能だと確信しています。私が正しく理解していれば、C#で "GenericExample < T >ここでT:SomeParentClass"と宣言したときのようです。 –

+0

@djechelon:それは不可能だと考えるのは間違いでしょう。 =) – ColinD

+0

私は決して1つの文字を使ってパラメータ型を参照することはありません。私は常にマイニングフルの型名を使用します。オブジェクトが何をする必要があるのか​​、それが何であるかを追跡しやすくします。 – TacB0sS

答えて

3

あなたはすでにそれを得た:ジェネリック医薬品の

GenericExample<ItemType extends MyObject> 

最初のガイドでは、ここで見つけることができます:http://download.oracle.com/javase/1.5.0/docs/guide/language/generics.html

+0

は、少なくともGenericパラメータを含むべきではありませんか?次のようにします。GenericExample 私はあなたがOPが必要なものを提供してくれたと思うので、まだバンプする。 – rfeak

+1

ItemTypeは汎用パラメータです。しかし、あなたが正しいです、Javaでは、一般的な使用法は一般的なパラメータに1文字(ususally T)を使用することです。 – Nicolas

+0

これはコンパイル時にのみ実行され、実行時にJavaの型消去によって型キャストに置き換えられることに注意してください。 – LINEMAN78

1
GenericExample<T extends Object> 
+0

ここで正しいと思いますが、タイプバインドとして 'Object'以外の型を使用した方がより明確です。なぜなら、ここに示すのは' GenericExample 'に相当するからです。 – ColinD

関連する問題