A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘源 中级黑马   /  2012-8-14 18:56  /  2614 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘源 于 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);  
}
}

4 个回复

倒序浏览
多个标记在这一行 
——ItCastAnnotation无法解决的一个变量 
——语法错误,插入“AssignmentOperator表达”来完成分配  
——语法错误,插入”;“完成语句  
——注释不能决定一个变量
回复 使用道具 举报
同学,请把你的代码修改如下
if(AnnotationTest.class.isAnnotationPresent(ItCastAnnotation.class)){
                  ItCastAnnotation annotation = AnnotationTest.class.getAnnotation(ItCastAnnotation.class);
          }
即 if后面用大括号括起来,注意代码书写规范
回复 使用道具 举报
if()后面就一个语句不用大括号把。
这句话,我看老师也是这么也的啊
回复 使用道具 举报
Java Language Specification 明确指出局部变量声明的作用范围是在一个块内,也可以理解为在{ }内。当你用if()后面不加大括号时,即意味着没有块而是一个单个语句,所以发生冲突。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马