栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

泛型(Generic)基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

泛型(Generic)基础

1. 什么是泛型

泛型就是限制我们得数据类型。

2.泛型的概念

所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类 型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量创建对象时)确定(即传入实 际的类型参数,也称为类型实参)

3.为什么使用泛型?

我们原来在定义集合时,是如下得定义方式:
        List list=new ArrayList();//该集合没有使用泛型
        list.add("java01");
        list.add("java02");

        String str= (String) list.get(0);//获取元素 需要进行强制类型转换
        System.out.println(str);
获取元素时,不方便对元素进行相应得其他操作。

4. 如何使用泛型

List<类型> list=new ArrayList<类型>(); 只能在该集合中存储指定得类型。

public class Test {
 public static void main(String[] args) {
       //这里就限制了集合中每个元素得类型
        List list=new ArrayList<>();
        list.add("java1");
        list.add("hai"); //因为集合中只能添加String类型
        list.add("world"); //因为集合中只能添加String类型

        //在获取元素时 默认就是相应得数据类型 而无需在进行转换
        String s = list.get(0); 

        //:K:表示键得泛型  V:表示值得泛型
        HashMap map=new HashMap<>();
        map.put("name",21);
        map.put("age",25);

        Set keys = map.keySet();
    }
}
5. 自定义泛型类
public  class 类名<标识,标识....> {
     标识  变量名;
     
     public 标识 方法名(){
        
     }
     
     public void 方法名(标识 参数名){
     
     
     }
     .........

}
   5.1.0 定义坐标类:  
public class Test03 {
    public static void main(String[] args) {
        //不使用自定义泛型,则默认为object类型
        Point point = new Point();
        point.setX("x轴");
        point.setY(14);
        point.show();
 
        //使用自定义泛型定义坐标类,
        // 泛型使用的都是对象类型,不能使用基本数据类型
        Point point1 = new Point<>();
        point1.setX(105);
        point1.setY(120);
        point1.show();

      }
}
 //自定义泛型对象,可以有构造方法
public class Point {
    private K X;
    private K Y;
 
    public K getX() {
        return X;
    }
 
    public void setX(K x) {
        X = x;
    }
 
    public K getY() {
        return Y;
    }
 
    public void setY(K y) {
        Y = y;
    }
 
    public void show(){
        System.out.println("x坐标为:"+this.X+"y坐标为:"+this.Y);
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821593.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号