黑马程序员技术交流社区

标题: 关于注解的书写格式问题 [打印本页]

作者: 刘源    时间: 2012-8-14 18:56
标题: 关于注解的书写格式问题
本帖最后由 刘源 于 2012-8-14 20:21 编辑

问题已经解决”。
@interface ItCastAnnotation {
}

@ItCastAnnotation
public class AnnotationTest {
public static void main(String[] args) throws Exception{
  if(AnnotationTest.class.isAnnotationPresent(ItCastAnnotation.class))
        ItCastAnnotation annotation = (ItCastAnnotation)AnnotationTest.class.getAnnotation(ItCastAnnotation.class);  
}
}
错误提示:
Multiple markers at this line
- ItCastAnnotation cannot be resolved to a variable
- Syntax error, insert "AssignmentOperator Expression" to complete
  Assignment
- Syntax error, insert ";" to complete Statement
- annotation cannot be resolved to a variable
什么意思啊。真看不懂了



我该成这样就没问题了,感觉和上面的没什么变化啊,上面那个哪里不对。
@interface ItCastAnnotation {
}

@ItCastAnnotation
public class AnnotationTest {
public static void main(String[] args) throws Exception{
        ItCastAnnotation annotation =null;
  if(AnnotationTest.class.isAnnotationPresent(ItCastAnnotation.class))
         annotation = (ItCastAnnotation)AnnotationTest.class.getAnnotation(ItCastAnnotation.class);  
}
}

作者: 方志亮    时间: 2012-8-14 19:02
多个标记在这一行 
——ItCastAnnotation无法解决的一个变量 
——语法错误,插入“AssignmentOperator表达”来完成分配  
——语法错误,插入”;“完成语句  
——注释不能决定一个变量
作者: 陈鑫    时间: 2012-8-14 19:16
同学,请把你的代码修改如下
if(AnnotationTest.class.isAnnotationPresent(ItCastAnnotation.class)){
                  ItCastAnnotation annotation = AnnotationTest.class.getAnnotation(ItCastAnnotation.class);
          }
即 if后面用大括号括起来,注意代码书写规范
作者: 刘源    时间: 2012-8-14 19:37
if()后面就一个语句不用大括号把。
这句话,我看老师也是这么也的啊
作者: 陈鑫    时间: 2012-8-14 19:44
Java Language Specification 明确指出局部变量声明的作用范围是在一个块内,也可以理解为在{ }内。当你用if()后面不加大括号时,即意味着没有块而是一个单个语句,所以发生冲突。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2