Hello friend, I'm |

Ritchie里其

园龄:2年6个月粉丝:4关注:7

泛型Generic

1.1简介

1. 使用场景:在定义的集合类的时候 不确定其数据类型 在实例集合的对象的时候确定其数据类型
泛型就是一个变量,变量用于来接收其数据类型
2. 使用泛型
A.在实例化集合可以确定其数据类型
B.语法: List<E> li = new Arraylist<E>();
例子: List<Student> li = new ArrayList<Student>()
C.注意点:
a.前后的泛型必须是一致的
b.在jdk1.7之后出现了菱形的泛型 后面的数据类型可以省略
例如:List<Student> li = new ArrayList<>()
c.泛型必须是引用数据类型 不能是基本数据类型
3. 泛型好处:
a.避免多次进行强制类型转换
b.将运行时的错误提前到编译期
4. 泛型使用符号
泛型使用的符号都是大写字母 所有大写字母都是可以使用
常用的符号: K V T E......

1.2 定义泛型类

1.语法:
访问修饰符 class 类名 <泛型> {
类中所有的成员都可以使用其泛型
}
2.例子:
public class MyList<T>{
}

1.3 定义泛型方法

1.语法:
访问修饰符 <T> 返回值类型 方法名称(T t) {
方法体;
return 返回值
}
2.例子:
public <T> void showInfo(T t){
}
3.说明
a.普通成员方法与静态方法都可以加上泛型
b.普通成员方法可以是类的泛型
c.静态方法不能使用类的泛型

1.4 案例

定义一个方法,可以交换任意类型的数组的某两个元素

package com.xxx;
import java.util.Arrays;
public class ChangeArray {
public static <T> T[] method(T[] arrays, int index1, int index2) {
T temp = arrays[index1];
arrays[index1] = arrays[index2];
arrays[index2] = temp;
return arrays;
}
}
class TestChangeArray {
public static void main(String[] args) {
//交换下标为1和4的元素
String[] ss = ChangeArray.method(new String[]{"a", "b", "c", "d", "e", "f"}, 1, 4);
System.out.println(Arrays.toString(ss));
}
}

1.5 定义泛型接口

1.泛型接口
a.实现类确定其泛型(数据类型)
接口:public interface Iterator<E>{
E next()
}
实现类:
public final class Scanner implements Iterator<String>{
public String next()
}
b.实现类也不确定其泛型(数据类型)
接口: public interface List<E>{
boolean add(E e)
}
实现类:
public class ArrayList<E> implements List<E>{
public boolean add(E e)
}

1.6 泛型通配符

1.泛型的通配符使用?来进行表示 ? 表示任意的数据类型 方法的通配符一般作为方法的参数使用 在实例化集合的时候
不能使用通配符
2.常用的通配符
<? extends E> E本身或者是其子类
<? super T> T本身或者是其父类类型

本文作者:Ritchie里其

本文链接:https://www.cnblogs.com/wang-zeyu/p/16793192.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Ritchie里其  阅读(29)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
✨欢迎你~🍻
✨欢迎你~🍻
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 遥か Aimer
遥か - Aimer
00:00 / 00:00
An audio error has occurred.

作词 : aimerrhythm/田中ユウスケ

作曲 : 田中ユウスケ

编曲 : 玉井健二/百田留衣

海岸線の雨に ちらばった君の影

思い出が交差する 海辺の街

君はあの日のまま いまも夢を見てた

君はあの日のまま いまも夢を見てた

遥か記憶の空 2人照らす光

遥か記憶の空 2人照らす光

膝までの浅瀬で 見つけた星

君まで届くなんてさ ありえないような

浅い眠りの中で 深い夢から覚めて

浅い眠りの中で 深い夢から覚めて

裸足のまま駆けてく まばゆい星

君はあの日のまま どんな夢を見てた?

君はあの日のまま どんな夢を見てた?

遥か記憶の空 2人照らす光

遥か記憶の空 2人照らす光

いつまでもこうして 笑っててほしい

夜空に舞い上がる 幾千の花びら

でたらめな誓いで 生きてく日々

君から届くなんてさ ありえないような