java中泛型类,泛型方法,泛型接口
泛型避免了程序中繁琐的转型
注意:
<? super T>
表示通常转型可直接转到T和T的父类
<? extends T>
表示转型可直接转到T和T的子类
package sjdghuu;
/**
* @Author: Lenovo
* @CreateTime: 2019-01-08 19:23
*/
public class JavaDemo {
public static void main(String[] args) {
B stringB = new B<>("shdude","edugeudgu");
System.out.println(stringB.getName()+stringB.getAge());
System.out.println("--------------------------");
C c = new C();
c.fang("64446");
c.fang(548);
System.out.println("--------------------------");
D1 s = new D1<>();
s.shou("eudgueyg");
}
}
class B{//泛型类可以传各种类型参数
private T name;
private T age;
public B() {
}
public B(T name, T age) {
this.name = name;
this.age = age;
}
public T getName() {
return name;
}
public void setName(T name) {
this.name = name;
}
public T getAge() {
return age;
}
public void setAge(T age) {
this.age = age;
}
}
class C{//泛型方法
public void fang(E e){
System.out.println(e);
}
}
interface D{//泛型接口
public abstract void shou(F f);
}
class D1 implements D{
@Override
public void shou(F f) {
System.out.println(f);
}
}
## 增强型For
简化数组和Collection集合的遍历
for(元素数据类型 变量 : 数组或者Collection集合) {
使用变量即可,该变量就是元素
}
例:
public class JavaDemo {
public static void main(String[] args) {
int [] arr={15,54,9,5484,6,5};
for (int i : arr) {
System.out.println(i);
}
}
}
## vector的特有遍历
public class JavaDemo {
public static void main(String[] args) {
Vector vector = new Vector<>();
vector.add("gsfdy");
vector.add("gdfyf");
vector.add("shygdug");
Enumeration elements = vector.elements();
while (elements.hasMoreElements()){
System.out.println(elements.nextElement());
}
}
}