package test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Test;
/* 泛型
* 优点:通过允许指定泛型类或方法操作的类型,泛型功能将类型安全的任务从您转移给了编译器。
* 不需要编写代码来测试数据类型是否正确,因为在编译时会强制使用正确的数据类型。
* 减少了类型强制转换的需要和运行时错误的可能性。
*/
public class test{
@Test
public void test1() throws Exception{
List<String> list = new ArrayList<String>(); //使用泛型 避免错误,更加安全
list.add("aa");
list.add("bb");
list.add("cc");
for(String s:list){
System.out.println(s);
}
}
//使用泛形时,泛形类型须为引用类型,不能是基本数据类型
@Test
public void test2() throws Exception{
Map<Integer,String> map = new HashMap<Integer,String>(); //使用泛型 避免错误,更加安全
map.put(1,"aa");
map.put(2,"bb");
map.put(3,"cc");
/*
* Set<Map.Entry<Integer, String>> set = map.entrySet();
* Iterator<Map.Entry<Integer, String>> it= set.iterator();
while(it.hasNext()){
Map.Entry<Integer, String> entry =it.next();
int key = entry.getKey();
String value = entry.getValue();
System.out.println(key+"="+value);
}*/
for(Map.Entry<Integer, String> entry : map.entrySet()){
int key=entry.getKey();
String value = entry.getValue();
System.out.println(key+"="+value);
}
}
//编写一个泛型方法 实现指定位置上的数组元素的交换。
public static<T> void swap1(T arr[],int pos1,int pos2){
T temp = arr[pos1];
arr[pos1] = arr[pos2];
arr[pos2] = temp;
}
//编写一个泛型方法 接收一个任意数组 并颠倒数组中所有元素的位置
public static <T> void swap2(T a[]){
int start = 0;
int end = a.length-1;
while(start<end){
T temp = a[start];
a[start] = a[end];
a[end] = temp;
start++;
end--;
}
}
public static void main(String[] args){
Integer a[]={1,2,3,4};
Integer b[]={5,6,7,8};
swap1(a,1,2);
for(int i:a){
System.out.println(i+" ");
}
swap2(b);
for(int i:b){
System.out.println(i+" ");
}
}
}
Java泛型
最新推荐文章于 2020-12-28 01:00:33 发布