黑马程序员技术交流社区

标题: 我的注解运行怎么没有结果呢?程序没有错啊 [打印本页]

作者: 我能驾驭住    时间: 2012-6-7 23:23
标题: 我的注解运行怎么没有结果呢?程序没有错啊
package Demo.collection;

public class AnnotationTest {

        /**
         * @param args
         */
        @ItcastAnnotation(color = "Green", value = "abc",arr=3)
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                if (AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)) {
                        ItcastAnnotation itcastAnnotation = (ItcastAnnotation) AnnotationTest.class
                                        .getAnnotation(ItcastAnnotation.class);
                        System.out.println(itcastAnnotation);
                        System.out.println(itcastAnnotation.color());
                        System.out.println(itcastAnnotation.value());
                        System.out.println(itcastAnnotation.arr().length);
                }

        }

}


package Demo.collection;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.lang.model.element.Element;

/*三个内置注解:
* @Deprecated
@SuppressWarnings
@Override*/

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD,ElementType.TYPE})
public @interface ItcastAnnotation {
String color() default "RED";
String value();
int[] arr () default{2,4};

作者: 王杰    时间: 2012-6-7 23:31
没有发现错呀 就是少复制一个}
作者: 我能驾驭住    时间: 2012-6-7 23:41
王杰 发表于 2012-6-7 23:31
没有发现错呀 就是少复制一个}

那我运行没有结果,是空的
作者: 胡团乐    时间: 2012-6-8 07:45
@ItcastAnnotation(color = "Green", value = "abc",arr = 3) //给这儿复制一个就可以了
public class AnnotationTest {
//@ItcastAnnotation(color = "Green", value = "abc",arr = 3)
public static void main(String[] args) {
        // TODO Auto-generated method stub
        if (AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)) {
                ItcastAnnotation itcastAnnotation = (ItcastAnnotation) AnnotationTest.class
                                .getAnnotation(ItcastAnnotation.class);
                System.out.println(itcastAnnotation);
                System.out.println(itcastAnnotation.color());
                System.out.println(itcastAnnotation.value());
                System.out.println(itcastAnnotation.arr().length);
        }

}
@Target({ElementType.METHOD,ElementType.TYPE})表示类名前 和方法前都可以加注解;




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