java基础加强

来源:互联网 发布:啤酒游戏优化软件 编辑:程序博客网 时间:2024/05/16 11:01
java基础加强
          1、JDK5.0介绍
                          新特性
          2、静态导入(了解)
                          作用:导入类中的静态成员
                          语法:import static java.lang.System.out;
                          或者import static java.lang.System.*;


          3、自动装箱和拆箱
                          基本类型---->包装类型:装箱
                          包装类型---->基本类型:拆箱


                          高速缓存:true、false、byte、介于~128-->+127间的整数 、介于\u0000到\u007F间的字符
                          因此这些基本类型的包装类对象,是同一个对象。

          4、增强for循环:
                          设计的本意:抛弃迭代器
                          增强for循环只能遍历数组和实现了Iteratable接口的对象。
                          语法:
                          for(元素的类型 变量名:数组或实现了Iteratable接口的对象){
                                  System.out.println(变量名);
                          }


                          增强for循环的特点:只适合取数据。要想在遍历时改元素的值,请使用传统for循环。
                          
                          *************************************************************************************************************
                          例:
                          
                          //传统方式遍历Map方式1
                          @Test
                          public void test3(){
                                    Map map = new LinkedHashMap();
                                    map.put("a", "aaa");
                                    map.put("b", "bbb");
                                    map.put("c", "ccc");
                                    
                                    Set keys = map.keySet();
                                    Iterator it = keys.iterator();
                                    while(it.hasNext()){
                                            String key = (String)it.next();
                                            String value = (String) map.get(key);
                                            System.out.println(key+"="+value);
                                    }
                          }
                          
                          //传统方式遍历Map方式2
                          @Test
                          public void test4(){
                                  Map map = new LinkedHashMap();
                                  map.put("a", "aaa");
                                  map.put("b", "bbb");
                                  map.put("c", "ccc");
                                  
                                  Set me = map.entrySet();
                                  Iterator it = me.iterator();
                                  while(it.hasNext()){
                                            Map.Entry m = (Map.Entry)it.next();
                                            String key = (String) m.getKey();
                                            String value = (String)m.getValue();
                                            System.out.println(key+"="+value);
                                  }                           
                          }
                          
                          //增强for遍历map方式1
                          public void test31(){
                                Map map = new LinkedHashMap();
                                map.put("a", "aaa");
                                map.put("b", "bbb");
                                map.put("c", "ccc");
                                
                                Set keys = map.keySet();
                                for(Object obj:keys){
                                          String key = (String)obj;
                                          String value = (String) map.get(key);
                                          System.out.println(key+"="+value);
                                }
                           }
                           
                           //增强for循环遍历map方式二
                           @Test
                           public void test41(){
                                  Map map = new LinkedHashMap();
                                  map.put("a", "aaa");
                                  map.put("b", "bbb");
                                  map.put("c", "ccc");
                                  
                                  for(Object obj:map.entrySet()){
                                          Map.Entry me = (Map.Entry )obj;
                                          String key = (String) me.getKey();
                                          String value = (String)me.getValue();
                                          System.out.println(key+"="+value);
                                  }                                 
                          }
                          
                          *************************************************************************************************************


          5、可变参数
                          可变参数就当做是数组即可。

                          一个方法的参数列表中,只能有一个可变参数,且必须放在最后。


  6、泛型
只给编译器用的。编译完后字节码中没有泛型的。 泛型的擦除
泛型:如果等号左右都用到了泛型,必须类型一致。
ArrayList<Object> list = new ArrayList<String>();错误的
只有一边使用泛型,另一边不使用泛型是可以的。
只有引用类型才能作为泛型方法的实际参数

            
       
0 0
原创粉丝点击