java基础加强--要点总结3

java基础加强

 

27.IntroSpector 内省,主要对javabean进行操作。javabean是一种特殊的java类。 javabean的属性是根据方法的名称来的,我们不必去管其内部具体是什么样的,只要了解外部接口就可以了。去掉javabean中方法的get和set,剩下的字符串就是javabean的属性名称。一般属性名如果第二个字母是小的,则把第一个字母变成小的。
28.内省的应用

29. 使用Introspector类的getBeanInfo方法也可以得到属性值,但是只能将全部的属性都获取到,通过遍历才能找到自己希望的那个属性值。
具体代码实现如下:


30.java7的一个新特性,Map map = (name:"zxx",age:"18"),通过这样给map进行赋值。
31.javabean和map很相似,map的key就相当于javabean的属性。map和javabean之间可以相互转换。BeanUtils可以把map对象当作一个javabean来处理。
BeanUtils.setProperty(map, "name","kenny");
32.BeanUtils,一个开源包,方便javabean的使用。同时要有logging包才能运行。
33.将一个jar包导入工程,可以在工程下新建一个文件夹,把jar直接拷贝到文件夹中,然后点击右键,进行buildpath操作。
34.BeanUtils针对字符串操作,所有属性名和属性值都用字符串导入,PropertyUtils则是根据类型的不同来导入不同的属性值。
35.BeanUtils具有属性链功能,比如一个Date类型的属性mydate,由于Date类型下有一个setTime方法,这说明Date有一个time属性,所以mydate能够直接调用time属性,即mydate.time。

相关代码:

36.jdk1.5的新特性:注解,相当于一种标记,向编译器提醒一些问题。
@SuppressWarning
@Deprecated
@Override
37.注解相当于一个特殊的类。
38.class文件本身不是字节码,必须有类加载器加载了之后才能转化为二进制代码。
39.@Retention元注解(注解的注解),有三种取值:

RetentionPolicy.SOURCE,RetentionPolicy.CLASS,RetentionPolicy.RUNTIME,分别对应:java源文件--class文件--内存中的字节码(注解的生命周期)。注解不是一直都能被内存加载的,它可能会在生命周期的某个阶段被放弃掉,从而我们找不到注解的字节码文件。所以应该在注解上架Retention注解进行解释,来说明我们什么时候需要用这个注解。如果不解释,那么系统默认存在于Retention.ClASS段。

40.

41.注解中可以添加很多属性,比如数组类型的属性,枚举类型的属性,注解类型的属性。 

42.泛型可以指定某个集合中元素的类型,但是编译成class文件后会放弃这些类型信息,所以我们可以通过反射来穿过编译器来修改类型信息。可以认为,泛型只是给编译器看的,只是为了提醒大家防止出错,但实际上并没有影响集合的class文件,我们仍可以通过其他方式来添加不同类型的数据或对象。


43.整个ArrayList<E>称为泛型类型,ArrayList<E>中的E称为类型变量或类型参数,整个ArrayList<Integer>称为参数化的类型,ArrayList<Integer>中的Integer称为类型参数的实例或实际类型参数,ArrayList<Integer>中的<>念typeof,ArrayList称为原始类型。
44.参数化类型不考虑类型参数的集成继承关系:Vector<Object> v = new Vector<String>();//错误
45.参数化类型与原始类型相互兼容。Collection<String> c = new Vector();//可以通过;Collection c = new Vector<String>();//也可以通过
46.泛型中的?通配符。使用?通配符可以引用其他各种参数化的类型,?通配符定义的变量主要用作引用,可以调用与参数化无关的方法,不能调用与参数化有关的方法。
47.?通配符的扩展
上边界:Vector<? extends Number> x = new Vector<Integer>();//表示所有Number的子类
下边界:Vector<? super Integer> x = new Vector<Number>();//表示所有Integer的父类

48.Map.Entry,可以直接从Map中分别取出键和值,而不需要先得到键后再通过键来取值。在利用entry迭代取值时会用到泛型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值