2016-11-30 2 views
3

Есть ли эквивалент java для следующего фрагмента кода C#?C# this [] Свойство в Java

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

так, что я могу запросить данные с

objectInstance[typeof(ObjectClass)]; 
+3

В Java нет индексатора. Вы должны написать свой собственный метод 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. –

Смежные вопросы