导入和锯齿实践

目前在Leiva的“Android开发者Kotlin”一书中,有一件事是我想知道的…

import blah.data.Forecast import blah.domain.Forecast as ModelForecast 

为什么要在每个数据和领域层创建一个“预测”类,然后别名? 为什么不简单地命名一个域名blah.domain.ModelForecast开始?

我通常尽量避免在自己的项目中使用相同的名称,即使这些类确实发生在不同的包中。 从不这样做,我有什么好处?

你是对的,但也许你没有权利改变导入类的名字。 例如,假设你从java包中导入不同的Date类:

 import java.util.Date import java.sql.Date as SqlDate 

在这种情况下,锯齿是Kotlin提供的一个很好的工具。