2016-04-08 4 views
3

Я хотел бы использовать карту с определенным ключом & типов значений для нескольких классов в моем приложении. Единственный способ, который я знаю, это создать класс с этой конкретной карты в качестве переменной, а затем передать все звонки через него, то есть:Расширение карты путем указания типов ключей и значений

public class SpecificMap { 
    public Map<A, B> map; 

    public SpecificMap() { 
     map = new HashMap<A, B>; 
    } 
} 

, но это означает, что я должен использовать SpecificMap.map.method() каждый раз. Я хотел бы иметь возможность делать SpecificMap.method(), что потребует написать метод для каждого требуемого карточного вызова, что является громоздким.

Есть ли лучший способ? Может быть, что-то похожее на C/C++ typedef?

+0

Вы можете создать какой-то singleton 'DataStorage' и назвать экземпляр' ds'. Я считаю, что это не намного больше синтаксиса. – null

+1

Почему вы не можете использовать 'Map '? –

+0

Непонятно, спрашиваете ли вы об одноместном или наследовании. – null

ответ

3

Попробуйте расширить, например, HashMap<A,B>, это должно делать то, что вам нужно.

+0

Так что я должен делать что-то вроде 'SpecificMap extends HashMap {}' work? – Rizhiy

+1

Да, вот что я думаю. –

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