首页 > 编程语言 >无涯教程-Java泛型 - 参数类型

无涯教程-Java泛型 - 参数类型

时间:2023-12-27 21:31:36浏览次数:36  
标签:box Java messages 无涯 Value add 泛型 java public

泛型类可以具有参数化类型,其中类型参数可以替换为参数化类型。以下示例将展示上述概念。

package com.learnfk;

import java.util.ArrayList;
import java.util.List;


public class GenericsTester {
   public static void main(String[] args) {
      Box<Integer, List<String>> box
        =new Box<Integer, List<String>>();
      
      List<String> messages=new ArrayList<String>();
      
      messages.add("Hi");
      messages.add("Hello");
      messages.add("Bye");      
      
      box.add(Integer.valueOf(10),messages);
      System.out.printf("Integer Value :%d\n", box.getFirst());
      System.out.printf("String Value :%s\n", box.getSecond());

      
   }
}

class Box<T, S> {
   private T t;
   private S s;

   public void add(T t, S s) {
      this.t=t;
      this.s=s;
   }

   public T getFirst() {
      return t;
   } 

   public S getSecond() {
      return s;
   } 
}

这将产生以下输出。

Integer Value :10
String Value :[Hi, Hello, Bye]

参考链接

https://www.learnfk.com/java-generics/java-generics-parameterized-types.html

标签:box,Java,messages,无涯,Value,add,泛型,java,public
From: https://blog.51cto.com/u_14033984/9004472

相关文章

  • Java的安装
    Ubuntu下的Java环境:1.JDK/JRE的安装2.java的环境变量3.运行普遍Java程序4.Java程序的运行脚本 1.先安装Java的软件包:JRE:openjdk-8-jre-headlessJDK: openjdk-8-jdk-headless安装命令:sudoaptinstall openjdk-8-jdk-he......
  • 无涯教程-Java泛型 - 多个类型
    泛型类可以具有多个类型参数。以下示例将展示上述概念。packagecom.learnfk;publicclassGenericsTester{publicstaticvoidmain(String[]args){Box<Integer,String>box=newBox<Integer,String>();box.add(Integer.valueOf(10),"HelloWorld")......
  • C# 中关于 T 泛型【C# 基础】
    C#中关于T泛型【C#基础】 阅读目录〇、前言一、泛型类型参数和运行时中的泛型1.1泛型类型参数1.2泛型类型的命名1.3运行时中的泛型1.4为什么要约束类型参数?二、泛型类三、泛型接口四、泛型方法五、泛型与数组六、泛型委托七、小小的总结回到顶......
  • Sqoop连接数据库报错:Caused by: javax.net.ssl.SSLHandshakeException: No appropriat
    控制台报错:[[email protected]__hadoop-2.0.0-alpha]#./bin/sqooplist-databases--connectjdbc:mysql://192.168.45.10:3306--usernameroot--password1234562023-12-2802:58:50,807WARNtool.BaseSqoopTool:Settingyourpasswordonthecommand-linei......
  • [JAVA基础]后端原理
    后端原理【【网站架构】5分钟了解后端工作原理。为什么Tomcat长时间运行会崩溃?高并发线程池怎么设置?】https://www.bilibili.com/video/BV1PB4y11795/?share_source=copy_web&vd_source=55965a967914567042ced99f130f6538后段部分运行原理Tomcat+war包jar包后端程......
  • 无涯教程-Java泛型 - 泛型方法
    您可以编写一个可以用于不同类型参数调用的通用方法,根据传递给泛型方法的参数类型来找到对应方法进行处理。以下示例说明了如何使用单个Generic方法打印不同类型的数组-publicclassGenericMethodTest{//泛型方法printArraypublicstatic<E>voidprintArray(E[......
  • HTML学习第六天:初步探索JavaScript与交互
    在今天的HTML学习中,我初步探索了JavaScript和网页交互的世界。早上,我首先了解了JavaScript的基本概念和语法。JavaScript是一种用于增强网页交互性的脚本语言,它可以直接在浏览器中运行。我学习了如何使用变量、函数和基本的控制结构来编写JavaScript代码。午后,我开始将JavaScript与......
  • 无涯教程-Java泛型 - 类型推断
    类型推断表示Java编译器查看方法调用以及其相应的声明来检查和确定类型的参数,如果可用,则返回分配的类型。如果未使用类型推断,则编译器会生成未经检查的转换警告。Typeinference-语法Box<Integer>integerBox=newBox<>();Box  -Box是一个通用类。<>  -运算符表......
  • 无涯教程-Java泛型 - 命名约定
    按照惯例,类型参数名称被命名为单个大写字母,以便可以使用普通的类或接口名称区分类型参数。以下是常用类型参数名称的列表-E元素  -主要由JavaCollections框架使用。K键    -主要用于表示Map键的参数类型。V值    -主要用于表示Map的值的参数......
  • java流程控制
    一.用户交互Scanner对象可以用Scanner类来获取用户的输入Scanner对象的基本语法Sacnnerscanner=newScanner(System.in)Scanner类的常用方法hasNext();判断用户是否有输入next();读取到有效字符后......