今天是第一天来这个班上课,听说让写文档,也不知道写什么,就把今天听懂的写一下吧。
今天上午开始讲了Beanutils,
这是采用Beanutils为Studen中的属性赋值
@Test
public void test1() throws Exception {
加载Class文件
Class cls = Class.forName("cn.csdn.beanutils.Student");
创建一个对象放置从Student中取出来的属性
Student bean = (Student) cls.newInstance();
采用Beanutils为属性name赋值
BeanUtils.setProperty(bean, "name", "ss");
采用Beanutils输出赋值后的name属性
String name = BeanUtils.getProperty(bean, "name");
System.out.println(name);
}
然后学习了一个ConvertUtils.register(Converter concerter,Class class)找个方法中自带的转化器
public void test3() throws Exception {
//注册一个转化器
Class cls = Class.forName("cn.csdn.beanutils.Student");
Student bean = (Student) cls.newInstance();
BeanUtils.setProperty(bean, "bean", "as");
String bea = BeanUtils.getProperty(bean, "bean");
System.out.println(bean);
}
这是一个自己写的一个转化器
public void test5() throws Exception {
Student bean = new Student();
//先注册一个
ConvertUtils.register(new Converter() { //这是一个重写接口的方法
@Override
public Object convert(Class type, Object value) {
if (value == null) {
return null;
}
//定义一个类型转化器
SimpleDateFormat sdi = new SimpleDateFormat("yyyy-MM-dd");
Date dt = null;
try {
//开始转化
dt = (Date) sdi.parse((String) value);
} catch (ParseException e) {
throw new ConversionException("日期格式错误!");
}
//转化成功后
return dt;
}
}, Date.class);
BeanUtils.setProperty(bean, "birthday", " 1990-02-07 ");
System.out.println(bean.getBirthday());
}
然后讲的是泛型
先是泛型再数组Map中的应用
public void test1(){
List<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
Iterator<String> it= list.iterator();
while(it.hasNext()){
String value=it.next();
System.out.println(value);
}
}
@Test
public void test2(){
Map<Integer,String> map=new HashMap<Integer,String>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
Set<Map.Entry<Integer,String>> entries=map.entrySet();
for(Map.Entry<Integer, String> entry : entries){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
@Test
public void test3(){
Map<Integer,String> map=new HashMap<Integer,String>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "c");
Set<Integer> keys=map.keySet();
Iterator<Integer> it=keys.iterator();
while(it.hasNext()){
int key=it.next();
System.out.println(key+" "+map.get(key));
}
}
然后说的是用泛型交换数组中元素的位置
开始交换的是连个元素的位置
public static<T> void test1(T arr[], int i, int j){
T temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
这里是利用泛型写数组的倒序
public static<T> void test2(T arr[]){
int start=0;
int end=arr.length-1; //必须减去1,因为数组的位数是从0开始的
for(;;){ //死循环
if(start>=end){
break;
}
T temp=arr[start];
arr[start]=arr[end];
arr[end]=temp;
start++;
end--;
}
}
public static void main(String [] arrs){
Integer arr[]={1,2,3,4};
/*test1(arr,0,2);
for(int ar:arr){
System.out.println(ar+",");
}*/
test2(arr);
for(int ar:arr){
System.out.println(ar+",");
}
}
最后写了一个用泛型写的框架,虽然懂一些,不过还是有点迷糊,应该是以前写的少的事,所以来到找个班决定以后多写多敲代码,让自己的实战经验多一些。
第一天最大的感受就是以前练的太少了,很多东西听当时能听懂,可是下来就不知道怎么写了,而且思路特别堵塞,都不知道怎么写,别人说一点想起一点,很是麻烦,所以以后主要加强联系,然后就是用最快的速度跟上班里其他的人的进度!