Java意义上的"注释"和iPhone SDK意义上的"注释"之间有什么区别?

Pra*_*een 2 java android annotations

什么是注释类.它在java/android中有什么用处.

在iphone中,Annotation用于在地图上放置一个图钉..

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

Joh*_*lla 11

这两个概念是无关的:

  • 在iPhone SDK中,注释是一种可以放在地图上的注释.
  • 在Java(和Android SDK)中,注释是Java语言的一个特性,用于向类添加特定类型的元数据.

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

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

public @interface Copyright {
    String value();
}
Run Code Online (Sandbox Code Playgroud)

以下是我们将元数据附加到代码的方式:

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

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

@Copyright("2010, United States National Security Administration")
public class QuantumCryptographyDecoder { ... }
Run Code Online (Sandbox Code Playgroud)

否则你必须指定它:

@Created(year = 2010)
public class ShinyNewClass { ... }
Run Code Online (Sandbox Code Playgroud)

如果我们删除了@Copyright注释,它QuantumCryptographyDecoder仍然会像以前一样工作.它不会Copyright附加任何元数据.但是第三方工具进行了某种验证(例如,要求所有名称中包含"Quantum"的类都@Copyright附有通知)可以提醒您丢失@Copyright或采取其他一些有用的操作.

  • 好吧,它们完全是不同的SDK - 不存在一对一的功能对应也就不足为奇了.iPhone SDK中有许多功能在Android中无法实现.如果你真的需要动画引脚掉到地图表面上,没有什么能阻止你自己编写. (2认同)