Java基础_集合泛型
2021-07-15 22:05
标签:处理 ide 运行时 泛型使用 数据格式 避免 Stub 元素 rac 1.泛型概述 2.泛型 3.泛型定义数据格式 4.泛型的好处 } (2).代码实现 //无参 } //带参构造 public String getName() { public void setName(String name) { public int getAge() { public void setAge(int age) { (2).代码实现 Testfx 8.泛型的高级使用(通配符) (2).代码实现 Java基础_集合泛型 标签:处理 ide 运行时 泛型使用 数据格式 避免 Stub 元素 rac 原文地址:https://www.cnblogs.com/nwxayyf/p/9535916.html
泛型
我们在集合中存储数据的时候,存储了String和Integer俩种类型的数据。而在遍历的时候,我们把它当做是String类型处理,做了转化,所以
会报错。但是呢?它在编译期间却没有告诉我们。所以我们觉得这一个设计的不好。所以集合也模仿着数组中在定义之前指明数据的类型,在
创建对象的时候明确元素的数据类型。这样就不会存在问题了。这一种技术被称为泛型。
是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊类型。参数化类型,把类型当作参数传递.
注意:这里面的数据类型只能够是引用类型。
(1).把运行时期的问题提前到了编译期间
(2).避免了强制类型转换
(3).优化了程序设计,解决了异常提示
5.泛型使用举例:
public class Test {
public static void main(String[] args) {
List
lt.add("hello");
lt.add("world");
lt.add("java");
for(int i=0;i
}
}
//输出结果
hello
world
java
6.泛型类的使用
(1).概述:
把泛型定义在类上。
public class ObjectTool
学生类:
public class Student implements Cloneable{
//学生名字
private String name;
//年龄
private int age;
public Student(){
public Student(int age, String name) {
super();
this.age=age;
this.name=name;
}
return name;
}
this.name = name;
}
return age;
}
this.age = age;
}
}
//测试类
public class Test {
public static void main(String[] args) {
List
Student st=new Student(10,"张三");
Student st1=new Student(11,"李四");
Student st2=new Student(12,"王五");
lt.add(st);
lt.add(st1);
lt.add(st2);
for(int i=0;i
}
}
}
//输出结果:
10----张三
11----李四
12----王五
7.泛型接口
(1).所谓的泛型接口就是把泛型定义在接口上。
//定义接口
public interface Testfx
public abstract void show(T t);
}
//定义接口实现类
public class TestfxImpliment
@Override
public void show(T t) {
// TODO Auto-generated method stub
System.out.println(t);
}
}
//测试类
public class Test {
public static void main(String[] args) {
Testfx
tf.show("hello");
tf1.show(100);
}
}
(1).通配符使用
?:任意类型,如果没有明确,那么就是Object以及任意的java类了。
?:extends E:向下限定,E以及其子类
?:super E:向上限定,E以及其父类
//动物类
public class Animal {
}
//狗类
public class Dog extends Animal{
}
//猫类
public class Cat extends Animal{
}
//测试类
public class Test {
public static void main(String[] args) {
//如果没有明确需要的是什么类型
Collection
上一篇:面试题:把数组排成最小的数