"import org.parceler.Generated" 可以安全删除吗?

Can "import org.parceler.Generated" be removed savely?

我的意思是,导入通常不会影响代码,除非您在当前文件中使用未知的东西而不提供完整的限定标识符,但这对我来说似乎很奇怪。它在几个文件中,通常未被使用。

"import org.parceler.Generated"能不能去掉?有什么理由保留它吗?

让我难过的部分是这里的 "Generated" 这个词。好像必须保留,至少应该保留,但我不知道为什么。

我想它是在使用某些自动生成工具时自动包含的,甚至可能内置到 android-studio 中。但是,如果未使用导入,为什么会生成 "import org.parceler.Generated" 行?

如果您使用的是 Parceler,那么它应该生成如下所示的 classes:

@Generated(value = "org.parceler.ParcelAnnotationProcessor", date = "2016-09-03T09:53-0600")
@SuppressWarnings({
    "unchecked",
    "deprecation"
})
public class ParcelerTestModel$$Parcelable
    implements Parcelable, ParcelWrapper<org.parceler.test.ParcelerTestModel>
{
...

注意 @Generated 注释。如果生成的 class 它在 org.parceler 包之外,则需要您提到的导入。

@Generated 注释在这里作用不大。此注释背后的目的是按照 JSR269 standard.

将生成的代码与用户编写的代码区分开来

如果您将生成的代码移出注释处理器的范围并自行管理,那么您可以随意删除此注释。但是,我不推荐这种方法,因为它只是管理更多的样板文件,这违背了使用像 Parceler 这样的减少样板文件的解决方案的目的。