关于注解类型的疑问
最近才注意到注解里的方法,返回类型只能是 基本类型及其封装类型、String、Class的。请问,这有什么讲究么?
------解决方案--------------------基于注解嘛,编译时候要扫描胜成对应文件的。如果类型自定义,编译的时候你就可以想象多费劲了,或者给提供一些借口;
但是,基本类型,还有人家提供的Model够用了,所以没必要麻烦了吧。
------解决方案--------------------
在技术方面方面确实是这么回事,我的理解是 注解这种框架 首先呢他是一种框架,站在这个角度分析,框架的目的是增加通用性、简易的目的。如:JQ对JS进一步封装,屏蔽了琐碎的一些操作;Hibernate的JDBC,也失去了一些性能上的代码;Flex提供的组件开发,同样失去了灵活性。 这些给我的感觉是,框架不去做细,而是通用性能够满足,太细则繁琐。大多数的框架口号是,让我们把精力放到业务上面,实现给我们封装好;
所以:我自己给找个理由,当然不一定对,仅为讨论。 框架处理在细节上,能省则省。
------解决方案--------------------不单单要求类型,还必须是 compile time constant,应该是反射机制需要这样。
enum 也可以。
public class A {
public static final String s = "a";
}
public class B {
public static final String s = method();
static String method() {
return "b";
}
}
A.a 可以,B.b 不行。
------解决方案--------------------@Override
public List 这个算不
------解决方案--------------------也就是说不用new就能创建的东西呗
------解决方案--------------------也就是说不用new就能创建的东西呗
任何情况下底层都是用new来实现类对象的实例化的,只是有些框架把对象实例化给封装起来了。
------解决方案--------------------因为它已经限制死了,只能是八种基本数据类型加上String,Enum,Class,annotations这四种,别的都不支持的。