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

Java之泛型

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

Java之泛型

泛型的引入

我们来看一个现象 如果我们想实现一对坐标x,y,能让这个x和y接收不同类型的数据,比如

x=10,y=10,x=10.1,y=11.1,x=”东经15度”,y=北纬39度",我们可以想到用Object来接收

class Point{
   private Object x;//用Object来接收不同的数据类型
   private Object y;
    public Object getX() {
        return x;
    }

    public Object getY() {
        return y;
    }

    public void setX(Object x) {
        this.x = x;
    }

    public void setY(Object y) {
        this.y = y;
    }
}

 

 我们发现如果数据对应正确,那没什么问题,那如果用户输入时,想要让用户输入int类型,他输成double类型,我们程序是中是让披着Object的Integer类型向下转换为Integer,但是用户导致是披着Obbject的Double向下转换为Integer就会发生类型转换错误

但是我们发现这种错误是运行时异常,一般我们要将错误提取暴露在编译阶段,就是程序还没有跑起来就报出错误

泛型的语法 

泛型类的定义

class 类名 {
    T x;

}
class 类名 {
    T x;
    E y;

}
  • 泛型类可以存在多个类型参数,成员变量的类型不一定一致
  • 泛型不能接收八大基本类型,只能接收它的包装类
  • T,E这种大写用来表示参数类型,可以使用任何字符,但是大写字母是规范
  • T表示任意类型 K表示键值对 V表示value值 E表示单个元素

泛型类的使用

类名称 <具体的类> 对象名=new 类名称<>();

使用泛型之后的Point类

class Point{
   private T x;//用Object来接收不同的数据类型
   private T y;

    public T getX() {
        return x;
    }

    public T getY() {
        return y;
    }

    public void setX(T x) {
        this.x = x;
    }

    public void setY(T y) {
        this.y = y;
    }
}

 

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

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

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