Я бы хотел добиться чего-то похожего на то, как scala определяет Map
как и как предопределенные type
и object
. В Predef
:
type Map[A, +B] = collection.immutable.Map[A, B]
val Map = collection.immutable.Map //object Map
Однако я бы хотел сделать это, используя Java enum
s (из общей библиотеки). Например, у меня есть глобальный псевдоним:
type Country = my.bespoke.enum.Country
val Country = my.bespok.enum.Country //compile error: "object Country is not a value"
Причина этого в том, что я хотел бы иметь возможность использовать такой код:
if (city.getCountry == Country.UNITED_KINGDOM) //or...
if (city.getCountry == UNITED_KINGDOM)
Как бы то ни было, это невозможно при импорте моего псевдонима одновременно. Примечание: этот код работал бы отлично, если бы я не объявил предопределенный тип и импортировал его! Есть ли здесь какой-то синтаксис, который я могу использовать для достижения этой цели?