Android Studio中黄色导入行的含义

时间:2016-06-21 07:03:35

标签: android android-studio import

我是android和android studio的新手。我认识到一些进口线的颜色不同。这是什么意思?这些线与其他线的区别是什么?

enter image description here

4 个答案:

答案 0 :(得分:5)

这意味着它是annotation class import

Java注释允许我们add metadata information into our source code,尽管它们不是程序本身的一部分。注释从JDK 5添加到java中。注释对它们注释的代码的操作没有直接影响(即它不会影响程序的执行)

注释的用途是什么。

1)编译器说明: Java中有三种内置注释(@Deprecated@Override& @SuppressWarnings)可以是用于向编译器提供某些指令。例如,@override注释用于指示编译器注释方法是否覆盖该方法。有关这些内置注释的更多信息,请参阅本文的下一部分。

2)编译时教程:注释可以为编译器提供编译时指令,软件构建工具可以进一步使用它来生成代码,XML文件等。

3)运行时指令:我们可以定义在运行时可用的注释,我们可以使用java reflection访问这些注释,并可用于在运行时向程序提供指令。

答案 1 :(得分:2)

注释是关于程序的元数据类型,但不属于它...

  

注释是一种元数据形式,它提供有关不属于程序本身的程序的数据。注释对它们注释的代码的操作没有直接影响。

     

它包含以下信息:

     
      
  1. 编译器的信息
  2.   
  3. 编译时和部署
  4.   
  5. 运行时处理
  6.   

Source

在Java8中有改进的注释,如:

  1. @NonNull :编译器可以确定代码路径可能会收到空值的情况,而无需调试NullPointerException。
  2. @ReadOnly :编译器将标记任何更改对象的尝试。这类似于Collections.unmodifiableList,但更通用并在编译时验证。
  3. @Regex :提供编译时验证,即用作正则表达式的String是格式正确的正则表达式。
  4. @Tainted和@Untainted :不应同时使用的数据的标识类型,例如系统命令中使用的远程用户输入或日志流中的敏感信息。
  5. @m :度量单位可确保正确使用和比较用于测量对象的数字,或者已经过正确的单位转换。
  6. Check document for explanation

    您还可以在Wikipedia

    看一下这篇精美的文章

答案 2 :(得分:1)

这意味着它是一个注释类导入。

来自javadocs:

  

注释(一种元数据形式)提供有关程序的数据   不属于程序本身的一部分。注释没有直接影响   他们注释的代码的操作。

查看注释上的developer's guide

另请参阅Android中可用注释的this摘要。

答案 3 :(得分:1)

尝试导入注释时

@StringDef@IntDef@Nullable@NonNull

那时这些进口将是黄色的。