java - Java 意义上的 "annotation"和 iPhone SDK 意义上的 0x104567910 有什么区别?

标签 java android annotations

什么是注解类。它在java/android中有什么用。

在 iphone 中,注释用于在 map 上放置图钉..

java有java.lang.Annotation包……有什么用?我可以有示例、教程、示例代码等吗?

最佳答案

这两个概念是不相关的:

  • 在 iPhone SDK 中,注释是一种可以放在 map 上的注释。
  • 在 Java(和 Android SDK)中, annotations 是 Java 语言的一项功能,用于向类添加特定种类的元数据。

在 Java 世界中,注释是附加到一段代码的编译时标记。他们将元数据添加到代码 fragment 中,工具或第三方(甚至您自己的代码)稍后可以使用这些代码 fragment 。但它们通常不会影响代码的运行方式;也就是说,如果您删除了注释,该代码 fragment 的行为通常不会有任何不同。

一个简单的例子是用版权声明标记一段代码。这是我们可能会使用的注释:

public @interface Copyright {
    String value();
}

下面是我们如何将该元数据附加到代码中:

@Copyright(value = "2010, United States National Security Administration")
public class QuantumCryptographyDecoder { ... }

如果只有一个名为 value 的注释属性,您可以省略 value = 说明符作为一种快捷方式:

@Copyright("2010, United States National Security Administration")
public class QuantumCryptographyDecoder { ... }

否则你必须指定它:

@Created(year = 2010)
public class ShinyNewClass { ... }

如果我们删除了 @Copyright 注释,QuantumCryptographyDecoder 仍将像以前一样工作。只是不会有任何 Copyright 元数据附加到它。但是进行某种验证的第三方工具(例如,要求所有名称包含“Quantum”的类都附有 @Copyright 通知)可能会提醒您缺少 @版权所有或采取其他一些有用的行动。

关于java - Java 意义上的 "annotation"和 iPhone SDK 意义上的 0x104567910 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2566819/

相关文章:

java - 无论主机名如何,JDBC 都会尝试连接到 "localhost"

java - Spring注解方法用途

kubernetes - 了解 pod 标签与注解

Java注释: Using @Target(ElementType=METHOD) causes NPE

java - 使用 pow(x,y) 比较大数时, "<"小于运算符和 "<="运算符之间的差异

java - 如何使用camelCase将Hibernate实体字段映射到snake_case(下划线)数据库标识符

带有页眉、 ScrollView 和页脚的 android 布局,页脚带有键盘

android - 在 PreferenceActivity 中膨胀复选框时出错

android - 如何查找我的 Android 设备上是否存在特定包?

java - Spring Autowiring /Java