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、可变参数
可变参数就当做是数组即可。
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>();错误的
只有一边使用泛型,另一边不使用泛型是可以的。
只有引用类型才能作为泛型方法的实际参数