2016-11-30 3 views
3

次のC#コードスニペットに相当するJavaはありますか?インデクサですC#this this [] Javaのプロパティ

public Component this[Type type] 
    { 
     get 
     { 
      return Stuff; 
     } 
    } 

私は

objectInstance[typeof(ObjectClass)]; 
+3

JavaにはIndexerはありません。独自のget/setメソッドを記述する必要があります。 – Flown

+2

それでは、痛いです。ありがとう。 –

+1

ええ、それは残念ですが、javaの信仰を持っています:) –

答えて

0

でデータを要求することができていますように - それはあなたが(インデクサが「セット」ブロックを持っている場合や設定)を取得するために、配列表記を使用することができますデータ(多くの場合、インデクサパラメータは整数になります)。

次のようにこのインデクサーをC#から呼び出されます。

data = myInstance[someType]; 

あなたのインデクサは「セット」ブロックを持っていた場合は、次のようにインスタンスに値を設定できます

myInstance[someType] = data; 

Javaの同等は次のとおりです。その後、

public final Component getItem(java.lang.Class type) 
{ 
    return Stuff; 
} 

とそれを呼び出す:

data = myInstance.getItem(someType); 
+0

ええ、ただの方法です。私はインデクサーを欲しかった –

+1

@ThomasChristof:あなたはJavaでインデクサを持っていません。メソッドはJavaの代替です。 –