黑马程序员技术交流社区
标题:
崩溃了,老是碰到和老师一样的代码,却不一样的结果
[打印本页]
作者:
BitmapFactory
时间:
2013-3-1 23:41
标题:
崩溃了,老是碰到和老师一样的代码,却不一样的结果
本帖最后由 张学林 于 2013-3-20 10:01 编辑
大家帮我看看啊,这是什么原因
package cn.itcast.day2;
public class AnnotationTest {
/**
* @param args
*/
@ItcastAnnotation
public static void main(String[] args) {
System.runFinalizersOnExit(true);
System.out.println(AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class));//为啥后面加了@Retention(RetentionPolicy.RUNTIME)却还是false很是肺解
if(AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)){
ItcastAnnotation annotation = (ItcastAnnotation)AnnotationTest.class.getAnnotation(ItcastAnnotation.class);
System.out.println(annotation);
}
}
@Deprecated
public static void sayHello(){
System.out.println("hi,你好");
}
}
复制代码
下面是类注解的
package cn.itcast.day2;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface ItcastAnnotation {
}
复制代码
作者:
唐长智
时间:
2013-3-2 00:57
亲,你出心大意了{:soso_e101:},上面代码中的第12行AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class),这里写着.class.但是你的类上面却没有加上注释,所以,结果一定是false了。在类的上面加上注释,就迎刃而解了。
package cn.itcast.day2;
@ItcastAnnotation
public class AnnotationTest {
/**
* @param args
*/
@ItcastAnnotation
public static void main(String[] args) {
System.runFinalizersOnExit(true);
System.out.println(AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class));//为啥后面加了@Retention(RetentionPolicy.RUNTIME)却还是false很是肺解
if(AnnotationTest.class.isAnnotationPresent(ItcastAnnotation.class)){
ItcastAnnotation annotation = (ItcastAnnotation)AnnotationTest.class.getAnnotation(ItcastAnnotation.class);
System.out.println(annotation);
}
}
@Deprecated
public static void sayHello(){
System.out.println("hi,你好");
}
}
复制代码
作者:
BitmapFactory
时间:
2013-3-2 07:17
{:soso_e134:}多谢了啊,我找了一个多小时也没找出来,类似的问题还是刚好在前面的视频里老师提到过{:soso_e136:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2