首页 > 其他分享 >泛型

泛型

时间:2023-01-03 15:55:07浏览次数:38  
标签:MyContainer myContainer 类型 泛型 new public

泛型

ArrayList 和 LinkedList 在存储数据前不用确定数据的类型 => 什么类型的数据都可以存放

导致了一个问题:一个集合中不同类型的数据经常要进行类型转换

因此在创建集合对象时通常要确定集合允许存放的数据类型

泛型:约束内部对象的使用场景

ArrayList<String> strings = new ArrayList<>();
LinkedList<Integer> integers = new LinkedList<>();

自定义泛型类

public class Generic {
    public static void main(String[] args) {

        //TODO 泛型
        //有时也把泛型称之为类型参数
        //泛型没有多态
        MyContainer myContainer = new MyContainer();
        myContainer.data = new Object();

        test(myContainer);

    }

    public static void test(MyContainer<Object> myContainer){
        System.out.println(myContainer.toString());
    }
}

//TODO 泛型类 不确定类型 在创建具体对象时再确定类型 -- 提高了类的适用性
class MyContainer<C>{
    public C data; //C是通用类型 data在创建对象时可以为任意类型的数据
}

标签:MyContainer,myContainer,类型,泛型,new,public
From: https://www.cnblogs.com/Ashen-/p/17022479.html

相关文章

  • 理解C#泛型原理
    前言 我们都知道泛型在C#的重要性,泛型是OOP语言中三大特征的多态的最重要的体现,几乎泛型撑起了整个.NET框架,在讲泛型之前,我们可以抛出一个问题,我们现在需要一个可扩容的数......
  • 第八章《Java高级语法》第11节:泛型
    ​泛型也JDK1.5引入的一种技术,它改变了核心API中的许多类和方法。使用泛型,可以建立类型安全模式来处理各种数据的类、接口和方法。使用泛型,一旦定义了一个算法,就可以独立于......
  • 泛型算法
    1、迭代器令算法不依赖于容器,但算法依赖于元素类型的操作。2、算法可能改变容器中保存元素的值,也可能在容器内移动元素,但永远不会直接添加或删除元素。3、那些只接受一个......
  • GO语言泛型
    有一个遍历数组的方法,要求数组的类型既可以是int型也可以是float64型。以前面对不同数据类型但是逻辑相同的方法写起来会比较麻烦,有了泛型之后写起来就很容易了//T就是泛......
  • 【C++要笑着学】泛型编程 | 函数模板 | 函数模板实例化 | 类模板
      ​​​​​​    ......
  • 泛型接口 泛型仓储
    泛型接口:  泛型仓储  继承泛型接口   实体仓储继承泛型仓储就可以调用基类的CRUD  ......
  • LeetCode_Heap_剑指 Offer 40. 最小的k个数 【堆,泛型实现,自定义比较器】【C++/java】
    目录​​一,题目描述​​​​英文描述​​​​中文描述​​​​示例与说明​​​​二,解题思路​​​​1,手动实现堆——C++泛型实现​​​​2,手动实现堆——java泛型实现​​......
  • 泛型(java)
    1.泛型的理解和好处1.1看一个需求1)请编写程序,在ArrayList中,添加3个Dog对象Dog对象含有name和age,并输出name和age(要求使用getXxx())先使用传统的方法来解决->引出......
  • Java:泛型方法、泛型类、泛型接口、类型通配符
    (目录)要求:JDK>=1.5泛型方法packagecom.example.demo;importjava.io.IOException;publicclassDemo{//泛型方法publicstatic<T>voidprintT(T......
  • Java泛型方法
    泛型方法泛型方法,是在调用方法的时候指明泛型的具体类型,定义格式:修饰符<代表泛型的变量>返回值类型方法名(参数){} 例如:/****@paramt传入......