首页
学习
活动
专区
圈层
工具
发布

Stack集合与枚举、泛型

枚举: 枚举就是一个选择器,在调用某个需要传递参数的方法的时候能够明确的知道需要传递什么参数类型。...现在在JDK1.5之后就出现了一个枚举器,所以就有了一种类型叫枚举类型:Enum类型。 有了枚举器就知道需要传递什么参数类型的值了,枚举器最大的作用就是能够提醒用户需要传递的是什么类型的值。...在枚举类里直接写的属性值就是常量,values();方法能拿到这个枚举器里的所有常量。 代码示例: ? ?...泛型: 泛型是在JDK1.5之后才有的,泛型要特定的类才可以做泛型,没有声明泛型的类是不能够使用泛型来操作的。泛型其实就是用来规定集合里面能够存储什么类型的,泛型也就只有集合里才用得到。...在泛型还没出现之前: ? ? 泛型出现后: ? ? 泛型的一些使用方式: ? 的使用: ? ?

81720

Java泛型详解:为什么使用泛型?如何使用泛型?

Java泛型详解:为什么使用泛型?如何使用泛型? 大家好!今天我要和大家一起探讨的是Java泛型,一个让我们的代码更加灵活、可读性更强的强大特性。...二、如何使用泛型? 在Java中,使用泛型有三种方式:泛型类和泛型方法,泛型接口。 泛型类:我们可以通过在类的定义中使用来指定一个或多个类型参数,用于代替具体的类型。...当使用泛型时,我们可以在类或方法的定义中使用泛型类型参数来代表具体的类型。下面我将分别介绍泛型类和泛型方法; 1. 泛型类的使用: 泛型类可以在类的定义中使用类型参数来代表具体的类型。...泛型类是非常常见且强大的泛型应用方式。 2. 泛型方法的使用: 泛型方法可以在方法的定义中使用类型参数来代表具体的类型。...最后,在 Main 类的 main 方法中,我们创建了一个 StringBox 对象,并将字符串内容设置为 “Hello, World!”。

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java入门(16)-- 枚举类型与泛型

    16.1 枚举类型 16.1.1 使用枚举类型设置常量 设置常量时,我们通常将常量放置在接口中,这样在程序中就可以直接使用,该常量不能被修改,因为在接口中定义常量时,该常量的修饰符为final与static...真正的类型,而在使用类中的方法传递或返回数据类型时将不再需要进行类型转换操作,而是使用在声明泛型类对象时“”符号中设置的数据类型。...限制泛型可用类型 默认可用使用任何类型来实例化一个泛型类对象,但Java中也对泛型类实例的类型作了限制。...使用泛型限制后,泛型类的类型必须实现或继承anyClass这个接口或类,无论anyClass是接口还是类,在进行泛型限制时都必须使用extends关键字。...使用类型通配符 在泛型机制中,提供了类型通配符,其主要作用是在创建一个泛型类对象时时限制这个泛型类的类型实现或继承某个接口或类的子类。要声明这样一个对象可以使用“?”

    1.3K30

    《现代Typescript高级教程》枚举和泛型

    现代JavaScript高级小册 深入浅出Dart 现代TypeScript高级小册 枚举和泛型 接下来我们将学习TypeScript 中的两个重要主题:枚举(Enums)和泛型(Generics)。...枚举 枚举是 TypeScript 中一种特殊的数据类型,允许我们为一组数值设定友好的名字。枚举的定义使用 enum 关键字。...泛型允许我们在定义函数、类或接口时使用类型参数,这些类型参数在使用时可以被动态地指定具体的类型。 以下是泛型在 TypeScript 中的几个常见应用场景: 1....泛型还支持约束(Constraints)的概念,通过使用约束,我们可以限制泛型的类型范围,使其满足特定的条件。...通过使用泛型,我们可以在编写代码时提供更强大的类型支持,从而减少错误并提高代码的可维护性和可读性。

    86910

    【Java 泛型】泛型用法 ( 泛型类用法 | 泛型方法用法 | 泛型通配符 ? | 泛型安全检查 )

    : 指定 泛型类 的泛型为 String 类型 , 那么在该类中凡是使用到 T 类型的位置 , 必须是 String 类型 , 泛型类的 泛型声明 , 使用时在 类名后面 声明 ; /...getData2("Mouse"); 不指定泛型的方法 : 泛型方法 中 也可以不声明泛型类型 , 传入的参数是 泛型 T 类型 , 如果给传入参数设置 String..., 隐含将泛型 T 设置为 String 类型 ; // 泛型方法 中 也可以不声明泛型类型 // 传入的参数是 泛型 T 类型 //...如果给传入参数设置 String , 隐含将泛型 T 设置为 String 类型 String data2 = student.getData2("Mouse"); 三、泛型通配符 设置 String , 隐含将泛型 T 设置为 String 类型 String data3 = student.getData2("Mouse");

    13K30

    Java泛型详解:和Class的使用。泛型类,泛型方法的详细使用实例

    这里可能看不懂,开篇总是困难的,下面看看如果没有泛型的话,我们要怎么做; 2、没有泛型会怎样  先看下面这段代码: 我们实现两个能够设置点坐标的类,分别设置Integer类型的点坐标和Float类型的点坐标...二、各种泛型定义及使用  1、泛型类定义及使用  我们先看看泛型的类是怎么定义的:    [java]     view plain     copy    //定义   class Point{...InfoImpl,然后把泛型变量T传给了Info,这说明接口和泛型类使用的都是同一个泛型变量。...然后在使用时,就是构造一个泛型类的实例的过程,使用过程也不变。    ...  上面我们讲解了类和接口的泛型使用,下面我们再说说,怎么单独在一个函数里使用泛型。

    5.4K50

    泛型类、泛型方法、类型通配符的使用

    泛型类、泛型方法、类型通配符的使用 一.泛型类        泛型类的声明和非泛型类的声明类似,除了在类名后面添加了类型参数声明部分...和泛型方法一样,泛型类的类型参数声明部分也包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。...下面是定义泛型方法的规则: 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的)。...一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。 类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。 泛型方法体的声明和其他方法一样。...下面的例子演示了"extends"如何使用在一般意义上的意思"extends"(类)或者"implements"(接口)。该例子中的泛型方法返回三个可比较对象的最大值。

    7.6K40

    【Java 泛型】泛型简介 ( 泛型类 | 泛型方法 | 静态方法的泛型 | 泛型类与泛型方法完整示例 )

    的性能 ; 二、泛型类 ---- 泛型类 : 在 类名后面 使用 声明泛型 , 则在该类中 , 可以使用该泛型类型 T 类型 ; 特别注意 , 该类中的 如下 2 个方法 不是 泛型方法...---- 泛型方法 : 在方法的 返回值前 , 使用 声明泛型的方法 , 是泛型方法 ; 将某个类型作为参数传入 ; 泛型个数 : 该方法是泛型方法 , 且指定了 2 个泛型 , 泛型的个数可以有很多个..., 多个泛型之间 , 使用逗号隔开 ; 泛型方法 与 泛型类 中的泛型 : 泛型不同 : 泛型方法指定的泛型 T 与 类中的泛型 T 没有任何关系 , 这两个 T 可以是不同的类型 ; 泛型相同...---- 静态方法泛型 : 如果静态方法中 使用了 类中的泛型 T , 作为参数 或 返回值 , 这种使用时错误的 ; 如果必须在 静态方法 中使用泛型 T , 则该泛型 T 必须是静态方法的泛型 ,...类中的泛型 * 这种使用时错误的 * * 如果必须在 静态方法 中使用泛型 T * 则该泛型 T 必须是静态方法的泛型 *

    24.6K30

    Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符

    al.add("丽丽"); for (Object o : al) { System.out.print(o+" "); } } 如果不使用泛型的话...在jdk1.5以后开始,使用泛型加入泛型的优点:在编译的时候就会对类型进行检查,不是泛型的就无法添加到这个集合 public static void main(String[] args) {...引起来的参数类型,这个参数类型具体在使用的时候才会确定类型 使用了泛型后,可以确定集合的类型,在编译的时候就可以检查出来 使用泛型可能觉得麻烦,实际上使用泛型才会简单,后续的便利操作会简单许多...当父类指定了泛型类型,子类就不许要再指定了,可以直接使用 static class SubGeneric extends test01{ } static class Demo{...泛型类的构造器写法: 不同泛型的引用类型不可以互相赋值 泛型如果不指定,就会被擦除,例子就是 泛型类中的静态方法不能使用类的泛型 不能直接使用泛型数组的创建,如果非要创建 泛型方法 什么是泛型方法

    5.7K10

    【Kotlin】泛型 ① ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 )

    , 主构造函数之前 , 该泛型参数 T 是 类型占位符 , 在 该泛型类类中 可以使用 类型占位符 T 作为一个类 使用 , 可以 定义 T 类型成员属性 主构造函数中可以接收 T 类型的实例对象作为参数..., T 类型可以 作为函数的返回值 ; 通常情况下 , 泛型参数 都使用 T 表示 , 使用其它字母 或者 字符串 都可以表示 泛型参数 , 但是 约定俗成 都使用 T 来表示泛型 ; 代码示例 :...---- 通常情况下 , 泛型参数 都使用 T 表示 , 使用其它字母 或者 字符串 都可以表示 泛型参数 , 但是 约定俗成 都使用 T 来表示泛型 ; 在下面的代码中 , 使用 M 作为 泛型参数...---- 泛型函数 中 如果涉及到 匿名函数 参数 , 匿名函数 的 参数返回值 都是泛型 的话 , 在该泛型函数 中可能需要使用多个泛型 , 使用不同的字母表示不同的泛型 ; 如果函数中 引入了新的泛型类型..., 需要两个泛型参数来表示其类型 ; T 类型在泛型类中注明 , 可以在该泛型类 Student 中随意使用 , 但是 泛型参数 R 是首次在该函数中使用 , 因此需要在该函数的 fun 关键字

    6K10

    java泛型(一)、泛型的基本介绍和使用

    http://blog.csdn.net/lonelyroamer/article/details/7864531    现在开始深入学习java的泛型了,以前一直只是在集合中简单的使用泛型,根本就不明白泛型的原理和作用...(类型擦除在后面在学习)   使用泛型机制编写的程序代码要比那些杂乱的使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性。泛型对于集合类来说尤其有用。  ...1、泛型类的定义和使用 一个泛型类(generic class)就是具有一个或多个类型变量的类。...这个时候,就要使用类型限定,对类型变量T设置限定(bound)来做到这一点。 我们知道,所有实现Comparable接口的方法,都会有compareTo方法。...、泛型接口和泛型方法中都可以使用,不过要注意下面几点: 1、不管该限定是类还是接口,统一都使用关键字 extends 2、可以使用&符号给出多个限定,比如 [java] view plaincopy

    2.4K10

    泛型接口,泛型类和泛型通配符

    java零基础入门-高级特性篇(六) 泛型 中 泛型的使用位置,除了最常见的约束集合元素,还可以使用在接口,类,方法上面。...,在类名后面加上泛型类型参数T,这样就定义了一个泛型类。 ? 泛型类 和泛型接口不同,类有构造器,并且构造器也可以使用泛型类型参数。...在这个泛型类里面,使用了两个泛型类型参数,如果有必要可以定义更多的泛型参数。...使用泛型 由于方法中的泛型需要在定义类的时候就指定,所以如果需要使用含有泛型的方法,必须在创建该泛型类对象的时候就需要指定泛型类型,因为使用的时候必须指定类型,不论是普通参数还是泛型参数。...泛型提供了一个泛型通配符用于接收所有类型的泛型类型。 泛型的通配符 ? 通配符 泛型的通配符可以很好的解决所有泛型类型父类的问题,使用来作为类或接口的泛型参数,这样就可以抽象出泛型类的父类。

    3.9K20

    Kotlin 泛型:基本使用

    泛型在 Kotin 的日常使用中运用很广泛:当我们使用 List、Array 等类型时,我们会使用到泛型类;当我们使用 apply、let 等函数时,我们会使用到泛型函数。...在 Kotlin 中声明和使用泛型类、泛型函数的基本概念和 Java 相似,有 Java 泛型概念的情况下,不用详细解释或者做进一步了解,也能够很容易地上手使用泛型。...当我们在「定义」泛型类、泛型函数时,我们使用的是「类型参数」;当我们在「使用」泛型类、泛型函数时,我们使用的是「类型实参」。...使用泛型类、泛型函数:// 使用泛型函数filter { it: String -> false }// 使用泛型类val stringBox = Box()// 使用泛型接口...// Always true了解到这里,就掌握了基本的泛型使用方式:用「类型参数」作为占位符,定义泛型类、泛型函数使用泛型类、泛型函数时,需要传递具体类型作为「类型实参」。

    2.6K30

    泛型的高级使用

    最近这一份工作是做跨境电商的对接了Amazon、aliexpress、shopee、ebay等多个平台,发现每对接一个平台都是用复制大法,重复造一些轮子,为了提升工作效率,早点下班,封装了一些代码,使用泛型相对比较多...泛型是什么 记得以前面试的时候经常被问泛型是什么,为什么要使用泛型? 泛型:可以说是类型参数化。...,我们在编译的时候就发现错误,不用等运行的时候,这也是使用泛型的一个好处。.../** * 传入泛型实参时: * 定义一个生产器实现这个接口,虽然我们只创建了一个泛型接口TestInter * 在实现类实现泛型接口时,如已将泛型类型传入实参类型,则所有使用泛型的地方都要替换成传入的实参类型...extends xxx 可以当做类似String,Integer是个泛型实参,类型不确定时候使用。

    88510

    泛型的如何使用

    泛型的定义 泛型(Generics)是 Java 等编程语言中一种参数化类型的特性,它允许在定义类、接口或方法时,通过类型参数来表示未知类型,直到使用时再指定具体类型。...消除强制类型转换 使用泛型后,从容器中获取元素时无需手动强转。...静态成员不能使用泛型参数:泛型参数属于实例级别的类型,静态成员无实例关联,无法直接使用(如static T value;错误)。...在 Java 中,“多重泛型” 通常指一个泛型类 / 接口 / 方法声明多个类型参数(即包含多个泛型变量),这些参数可以独立约束、独立使用,用于处理更复杂的多类型关联场景。...带约束的多重泛型 每个泛型参数可以单独设置约束(extends),实现更精确的类型限制。

    38810

    12 Java 泛型使用

    Java 5 之后提供泛型(Generics)支持,使用泛型可以最大限度地重用代码、保护类型的安全以及提高性能。泛型特性对 Java 影响最大是集合框架的使用。...T 表示类型参数,泛型就是类型参数化,处理的数据类型不是固定的,而是可以作为参数传入。 泛型的好处既然只使用普通类和 Object 就可以,而且泛型最后也转换为了普通类,那为什么还要用泛型呢?...或者说,泛型到底有什么好处呢?泛型主要有两个好处: ❑ 更好的安全性。 ❑ 更好的可读性。...只使用 Object,代码写错的时候,开发环境和编译器不能帮我们发现问题。 自定义泛型 自定义泛型接口与自定义泛型类类似,定义的方式完全一样。...泛型方法 在方法中也可以使用泛型,即方法的参数类型或返回值类型,可以用类型参数表示。

    74820

    【Kotlin】泛型 ③ ( 泛型 out 协变 | 泛型 in 逆变 | 泛型 invariant 不变 | 泛型逆变协变代码示例 | 使用 reified 关键字检查泛型参数类型 )

    文章目录 一、泛型 out 协变 二、泛型 in 逆变 三、泛型 invariant 不变 四、泛型逆变协变代码示例 五、使用 reified 关键字检查泛型参数类型 本章总结 : 使用了 泛型 out...协变 和 泛型 in 逆变 极大的提高了程序的扩展性 ; 泛型 in 逆变 : 使用 in 关键字 , 可以使 父类泛型对象 赋值给 子类泛型对象 ; 泛型 out 协变 : 使用 out 关键字 ,...泛型类型 作为 函数的返回值 类型 , 则在 声明 泛型参数 类型 时 , 既不使用 in 关键字 , 又不使用 out 关键字 ; 代码示例 : 在下面的接口中 , 泛型类型 即用于作为 返回值 ,...子类 的 泛型类对象 , 可以赋值给 泛型参数 是父类 的变量 , 前提是泛型参数必须使用 out 关键字修饰 ; 使用 in 关键字 , 可以使 父类泛型对象 赋值给 子类泛型对象 ; 使用...( 反之就会报错 ) 如果 使用 out 关键字 , 则 范围小的子类泛型对象 赋值给 范围大的 父类泛型对象 ; ( 反之就会报错 ) 使用了 泛型 out 协变 和 泛型 in 逆变 极大的提高了程序的扩展性

    3.4K10
    领券