例一代码:
package cn.tedu.type;
import java.util.ArrayList;
import java.util.List;
public class TypeDemo1 {
public static void main(String[] args) {
//创建集合对象—没有使用泛型
List list=new ArrayList();
//最常用—jdk1.7出现
List list1=new ArrayList();
/* List list2=new ArrayList();
List list3=new ArrayList();*/
//添加元素—Object
list.add(1);
list.add(true);
list.add(“abc”);
list.add(2.3);
//获取元素
for(Object i:list){
//获取每个集合里的元素
if(i instanceof Integer){
Integer in =(Integer) i;
}else if(i instanceof Boolean){
Boolean b=(Boolean) i;
}
System.out.println(i);
}
}
}
输出:
1
true
abc
2.3
代码图:输出:
例二代码:
package cn.tedu.type;
import java.util.ArrayList;
import java.util.List;
public class TypeDemo2 {
public static void main(String[] args) {
//创建集合对象
List list1=new ArrayList<>();
//添加元素
list1.add(1);
list1.add(4);
list1.add(7);
list1.add(2);
List list2=new ArrayList<>();
//添加元素
list2.add(1.0);
list2.add(1.4);
list2.add(0.7);
list2.add(1.2);
List list3=new ArrayList<>();
//添加元素
list3.add(“a”);
//List list=new ArrayList();
//java泛型没有向上造型
m(list1);
m(list2);
n(list3);
System.out.println(list1);
System.out.println(list2);
System.out.println(list3);
}
//只接受数字类型的元素
//<? extends Number>—可以传入Number类及其子类
//<? extends 类/接口>—可以传入本类及其子类或者接口及其实现类
//泛型的上限
public static void m(List<? extends Number> list){//默认接受Object类型
for (Object i:list){
System.out.println(i);
}
}
//定义以String为下限
//泛型下限
public static void n(List<? super String> list){
}
}
输出:
1
4
7
2
1.0
1.4
0.7
1.2
[1, 4, 7, 2]
[1.0, 1.4, 0.7, 1.2]
[a]
例二代码图:输出: