<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Loading...

    java .net

    自定義Annotation

    自定義Annotation
    早就知道jdk5加了新特性Annotation,但是沒研究過,前幾天公司培訓,有一部分是介紹jdk5新特性的,一個是注解一個泛型
    今兒復習一下注解
        //用@Deprecated聲明該方法不建議使用
        @Deprecated public void doSomething1(){
            Map map = new HashMap();
            map.put("some", "thing");
            System.out.println(map);
        }
       
        //用@SuppressWarnings聲明不再進行類型檢查
        @SuppressWarnings(value={"unchecked"})
        public void doSomething2(){
            Map map = new HashMap();
            map.put("some", "thing");
        }


    寫一個自定義注解先
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    //要在運行時使用這個注解,必須聲明成RUNTIME
    Annotation分為三種級別:RUNTIME、CLASS、SOURCE
    @Retention(RetentionPolicy.RUNTIME)
    public @interface SomeAnnotation{
        String value();
        String name();
    }

    下面來使用這個自定義注解:
    import java.lang.reflect.Method;
    public class AnnotationTest {
       
        @SomeAnnotation(value="value1",name="name1")
        public void doSomething3(){
           
        }
       
        public static void main(String[] args){
       
            Class<AnnotationTest> c = AnnotationTest.class;
            try {
                //利用反射得到方法doSomething3
                Method method = c.getMethod("doSomething3");
                //查找doSomething3方法是否有SomeAnnotation的Annotation
                if(method.isAnnotationPresent(SomeAnnotation.class)){
                    System.out.println("找到SomeAnnotation");
                    //得到SomeAnnotation
                    SomeAnnotation annotation = method.getAnnotation(SomeAnnotation.class);
                    System.out.println("annotation.value="+annotation.value());
                    System.out.println("annotation.name="+annotation.name());
                }else{
                    System.out.println("沒有找到omeAnnotation");
                }
            } catch (SecurityException e) {
                e.printStackTrace();
            } catch (NoSuchMethodException e) {
                e.printStackTrace();
            }
        }
    }

    輸出結果:
    找到SomeAnnotation
    annotation.value=value1
    annotation.name=name1

    posted on 2008-12-28 16:47 閱讀(3833) 評論(6)  編輯  收藏 所屬分類: 學習java

    評論

    # re: 自定義Annotation 2008-12-28 19:05 劍網3論壇

    學習咯~~~~  回復  更多評論   

    # re: 自定義Annotation 2008-12-28 21:53 ttt

    http://www.cubebi.com  回復  更多評論   

    # re: 自定義Annotation 2008-12-29 08:28 日月雨林@gmail.com

    這個是我最容易明白的一篇文章了!太感謝了!  回復  更多評論   

    # re: 自定義Annotation 2008-12-29 13:03

    (*^__^*) 嘻嘻……   回復  更多評論   

    # re: 自定義Annotation 2008-12-29 20:24 Strive

    頂一個先。。  回復  更多評論   

    # re: 自定義Annotation 2009-01-08 14:49 kangsg219

    學習了,謝謝  回復  更多評論   

    公告

    希望有一天

    我能用鼠標雙擊我的錢包

    然后選中一張100元

    按住“ctrl+c”

    接著不停的“ctrl+v”

    嘻嘻~~~笑醒~~~



    導航

    <2008年12月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    統計

    常用鏈接

    留言簿(6)

    隨筆分類(102)

    隨筆檔案(398)

    文章分類

    文章檔案(10)

    有趣網絡

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久无码精品亚洲日韩| 国产青草视频在线观看免费影院| 国产精品亚洲高清一区二区| 国产AV无码专区亚洲AV蜜芽| 精品国产一区二区三区免费看| 亚洲av永久无码精品三区在线4 | 亚洲一本之道高清乱码| 99精品视频在线观看免费专区| 亚洲高清在线观看| 最近中文字幕免费2019| 亚洲午夜精品在线| 青草草在线视频永久免费| 亚洲AV无码一区二区三区性色 | 99久久精品毛片免费播放| 亚洲国产另类久久久精品小说 | 最新亚洲人成网站在线观看| 亚洲av高清在线观看一区二区| 一个人看www免费高清字幕| 亚洲国产精品嫩草影院在线观看| 99久久久国产精品免费牛牛| 亚洲另类小说图片| 免费国产真实迷j在线观看| aaa毛片免费观看| 亚洲综合无码一区二区三区| 成人人免费夜夜视频观看| 毛片亚洲AV无码精品国产午夜| 久久国产成人精品国产成人亚洲| 人妻无码一区二区三区免费| 91亚洲国产成人久久精品网址 | 日本一道综合久久aⅴ免费| 久青草国产免费观看| 亚洲AV人无码激艳猛片| 国产成人免费高清激情视频| 一级午夜免费视频| 亚洲高清视频在线播放| 国产成人一区二区三区免费视频| 最近的2019免费中文字幕| 亚洲看片无码在线视频| 亚洲无av在线中文字幕| 成人黄软件网18免费下载成人黄18免费视频| 在线精品自拍亚洲第一区|