java 类型前的@xxx和代码前的@xx是什么意思?没学过java,看了代码,真心不懂

比如public @NonNegative Integer example(@Negative Integer value) {
return value;
},这里的@NonNegative 和@Negative是什么意思呢?这哪来的呢?
还有一种是
@Service

36

public class ApiInsertService {

38

@Autowired

39

private ApiMetaColumnMapper apiMetaColumnMapper;

@SuppressWarnings("unchecked")
这几个@又是什么意思?这些service Autowired 是关键字吗?谢谢!!

第1个回答  2015-05-27
严格说@符号并未在java 语言中作为操作符使用。而是在其他附属技术中使用
比如
1、javadoc 文档关键字
/**
* @author
* @version
* @since
* @see
*/
用于自动生成API文档,标注作者、版本、历史变化、参考、功能、参数说明等相关信息
2、Java annotation/Java标注
语法: @关键字(值)
用于把关键字和值传递给编译器,更精确低控制编译器的动作。
关键字都是随技术、框架、编译器的不同而不同,含义也不同、数量不定。可以由子技术或开发者扩充。
比如@override 说明会重写该方法

-------我也不知道该怎么跟你说 就去复制的追问

那如果是在类型前面的,也是属于注解?比如@NonNegative,你意思是,这个NonNegative是关键字?

本回答被提问者和网友采纳