博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础 笔记(四)
阅读量:5200 次
发布时间:2019-06-13

本文共 2269 字,大约阅读时间需要 7 分钟。

泛型:

泛型:通过<数据额类型>来接受一种引用数据类型。作用在编译时。使用检查
加入集合的对象是否属于该类型,从而把执行时的问题转换为编译时异常。提高程序的安全性
避免抛出 ClassCastException。同一时候也不须要类型转换

<>什么时候使用?

当操作的引用数据类型不确定的时候。使用<>.把要操作的数据类型传进来就可以
事实上<>相当于接受详细的引用数据类型的參数范围

泛型在接口中的应用:

实例:
public class Demo21 {
public static void main(String[] args) {
Manager m = new Manager();
m.add(new Worker(“a”, 23));
m.add(new Worker(“ab”, 21));
m.add(new Worker(“ac”, 22));

System.out.println("delete-->" + m.del(1));    m.show();}static class Worker {    private String name;    private int age;    public Worker(String name, int age) {        super();        this.name = name;        this.age = age;    }    @Override    public String toString() {        return "Worker [name=" + name + ", age=" + age + "]";    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

}

interface IManager {

public void add(T data);

public T del(int index);public void show();

}

class Manager implements IManager {

private List list;
Manager() {
list = new ArrayList();
}
@Override
public void add(T data) {
list.add(data);
}
@Override
public T del(int index) {
T data = list.get(index);
list.remove(index);
return data;
}
@Override
public void show() {
Iterator it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}


// 方法中使用泛型:当方法參数数据类型不确定,使用泛型

class GenericMethod {
public void test(T t) {
System.out.println(“没有返回值的方法t”);
}

public 
T getT(T t) { System.out.println("有返回值的方法getT"); return t;}

}


通配符:?

限定类型:

? extends E: 接受E类型或者E的子类型,上限
一般存储对象的时候 addAll()
? super E:接受E类型或者E的父类型,下限
一般用取出对象,比較器
public class Demo22 {
public static void main(String[] args) {
Food f = new Food();
f.setFood(“汉堡”);
System.out.println(f.getFood());
Food f1 = new Food();
f1.setFood(100);
Food f2 = new Food();
buy(f);
buy(f1);
buy1(f1);
buy2(f);
buy2(f2);
}
public static void buy(Food

equals().—>key是唯一的

TreeMap:(key-value)集合,依照键进行排序

和TreeSet相似

1)自然顺序

2)自己定义比較器
a 自己定义类实现Comparable接口
b 定义自己定义比較器类。实现Comparator接口

(key-value)集合,依照键进行排序

和TreeSet相似

1)自然顺序

2)自己定义比較器
a 自己定义类实现Comparable接口
b 定义自己定义比較器类。实现Comparator接口

转载于:https://www.cnblogs.com/yfceshi/p/7205813.html

你可能感兴趣的文章
监控工具之---Prometheus 安装详解(三)
查看>>
Azure Iaas基础之---创建虚拟机
查看>>
Grafana Configuration 参数详解(1)
查看>>
监控工具之---Prometheus数据可视化Grafana(七)
查看>>
监控工具之---Prometheus表达式promQL生产中应用(五)
查看>>
使用POI操作Excel时对事先写入模板的公式强制执行
查看>>
centos7下python3和pycharm安装
查看>>
TypeScript从入门到Vue项目迁移
查看>>
不错的MVC文章
查看>>
JS 正则验证字符串中是否含有数字
查看>>
Js 更换html同一父元素下子元素的位置
查看>>
C#解析json字符串总是多出双引号的原因分析及解决办法
查看>>
js获取iframe的id
查看>>
NSThread 基本使用
查看>>
Window下安装Scala出现:此时不应有 \scala\bin\..\lib\jline-2.14.5.jar
查看>>
middleware
查看>>
1045. Favorite Color Stripe
查看>>
题目39:特殊乘法
查看>>
题目30:哈夫曼树
查看>>
Windows Bat小程序
查看>>