Kotlin Programming Cookbook
上QQ阅读APP看书,第一时间看更新

Disambiguating using the "as" keyword to locally rename the clashing entity

Disambiguation refers to the removal of ambiguity by making something clear. Importing a library or a class in code is a daily routine of a programmer. It’s pretty easy to import files into the code in every language, thanks to the great code editors nowadays.

However, what happens if you try to import two classes into a file? Though you should always try to have different names for different classes, sometimes it’s unavoidable. For example, in the case of different libraries having the same name for their classes. In Java, there is a workaround; you have to use the full qualifier, which looks something like this:

class X {
com.very.very.long.prefix.bar.Foo a;
org.other.very.very.long.prefix.baz.Foo b;
...
}

Dirty, isn’t it? Now, let’s see how Kotlin addresses it gracefully.