范型基础及使用

        泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强 类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种 程序设计语言和其编译器、运行环境对泛型的支持均不一样。

基础标识

范型类

public class Generic<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return this.t;
}
public static void main(String[] args) {
var m = new Generic<Integer>();
m.set(16);
Generic<String> m2 = new Generic<>();
m.set("ok");
}
}
public class Generic<T extends Number> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return this.t;
}
public static void main(String[] args) {
Generic<Integer> m = new Generic<>();
m.set(16);
//Generic<String> m2 = new Generic<>(); 是错误的。
//m.set(16);
}
}

 案例

private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return this.t;
}
public <E extends Number> E show(E a, E b){
return a ;
}
public static void save1(Generic<?> gen){
System.out.println(gen);
}


wechat:webrxwp - mobile:13014577033 - email:webrx@126.com - qq:7031633
7 / 8
/**
* Description: Number类及其子类 下限
* @date: 2022/6/17 13:24
* @params: [cn.webrx.generic.Generic<? extends java.lang.Number>]
* @return: void
*/
public static void save2(Generic<? extends Number> gen){
System.out.println(gen);
}
/**
* Description: Integer类及其父类 上限
* @date: 2022/6/17 13:23
* @params: [cn.webrx.generic.Generic<? super java.lang.Integer>]
* @return: void
*/
public static void save3(Generic<? super Integer> gen){
System.out.println(gen);
}
public static void main(String[] args) {
Generic<Integer> m = new Generic<>();
m.set(10);
save2(m);
Generic<Number> m2 = new Generic<>();
m2.set(9);
save2(m2);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值