package com.study.generics;
//通过泛型方法,返回泛型类型实例
public class GenericsMethodDemo02 {
public static void main(String []args) {
GenericsMethodBackInstace<Float> demo02 = genericStaticMethod(100.33f);//如果传入100f则打印00.0
System.out.println(demo02.getVariable());
GenericsMethodDemo02 demo= new GenericsMethodDemo02();
GenericsMethodBackInstace<Integer> demo03 = demo.genericMethod(100);
System.out.println(demo03.getVariable());
//==================================
//因为泛型方法在GenericsMethodDemo02类型中定义则实例化调用本类的泛型方法
//在使用泛型方法返回实例化的类返回数据
GenericsBackInstace<String> demo04 = demo.geneMethod("泛型方法返回泛型类型实例化");
System.out.println(demo04.getVariable());
}
//为什么泛型的方法命名: public <泛型类> 返回泛型方法类 泛型方法命名
//方法中传入或返回的泛型类型由调用方法时所设置的参数类型决定
public static <Type extends Number> GenericsMethodBackInstace<Type> genericStaticMethod(Type t) {
GenericsMethodBackInstace<Type> instace = new GenericsMethodBackInstace<Type>();
instace.setVariable(t); //通过泛型方法传递参数,返回泛型实例
return instace;
}
public <Type extends Number> GenericsMethodBackInstace<Type> genericMethod(Type t) {
GenericsMethodBackInstace<Type> instace = new GenericsMethodBackInstace<Type>();
instace.setVariable(t); //通过泛型方法传递参数,返回泛型实例
return instace;
}
//================================================================
public <Type> GenericsBackInstace<Type> geneMethod(Type t) {
GenericsBackInstace<Type> instace = new GenericsBackInstace<Type>();
instace.setVariable(t);
return instace;
}
}
class GenericsMethodBackInstace<Type extends Number> { //泛型受限制,中哦<T extends Number>中的T 可以自定义
private Type variable; //T type简称
public Type getVariable() {
return this.variable;
}
public Type setVariable(Type variable) {
return this.variable=variable;
}
}
class GenericsBackInstace<Type> { //泛型受限制,中哦<Type>中的Type可以自定义如:Info,Object,String
private Type variable; //T type简称
public Type getVariable() {
return this.variable;
}
public Type setVariable(Type variable) {
return this.variable=variable;
}
}
分享到:
相关推荐
这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...
Java中的泛型,在运行时刻其具体类型是被擦除的,这样我们就不能用new T(),instanceof等关操作,特别是对泛型类型的类的实例化问题,在此根据《Thinking in Java》中所讲的对类型擦除所带来问题的三种解决方案,比较...
下面小编就为大家带来一篇JAVA利用泛型返回类型不同的对象方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java 泛型详解 实例 class Point class Notepad,V>{ // 此处指定了...通配符、受限泛型、泛型无法向上转型、泛型接口、泛型方法、通过泛型方法返回泛型类型实例、使用泛型统一传入的参数类型、泛型数组、泛型的嵌套设置
精选java关于泛型的原理,应用和面试题,包含所有泛型考点。例如,泛型的概念,类型,实例化,容易混淆的用法。每一道题附上答案,方便理解考试要点。
* 一个参数通配符的实例 * 说明:对一个包含了数值元素的集合进行汇总运算。在这种情况下,用户并不关心 * 集合中的每一个对象... * 方法声明了一个参数变量values是List类型,该集合中的元素必须是Number的子类对象
在本文中,我们简要介绍了Java泛型的概念,并通过实例和代码详细解释了泛型的用法。我们通过一个泛型类存储不同类型的数据,使用泛型方法打印任意类型的数据,并通过通配符方法比较两个Box内的数据是否相等。 综上...
学习和理解Java泛型的基本概念和语法; 实际项目中需要使用泛型来增加类型安全性和重用性的开发任务。 目标: 本代码资源的目标是帮助读者理解泛型的用法和优势,并通过实际的示例代码加深对泛型的掌握。读者可以...
Java泛型的核心思想是类型参数化,即在类、接口或方法的定义中使用类型参数来代替具体的类型,这些类型参数在实例化时被具体类型替换,从而实现了通用性和类型安全。 主要特性包括 1. 类型参数:在类、接口或方法的...
主要介绍了Java泛型映射不同的值类型详解及实例代码的相关资料,需要的朋友可以参考下
泛型的知识,请自己参考吧。主要介绍java泛型的知识。
JAVA泛型 28 类型擦除 28 实例分析 29 通配符与上下界 30 类型系统 31 开发自己的泛型类 32 最佳实践 32 参考资料 33 目录 3 JAVA注解 34 使用注解 34 开发注解 35 处理注解 35 实例分析 38 参考资料 39 JAVA反射与...
主要介绍了Java 获取泛型的类型实现代码的相关资料,需要的朋友可以参考下
主要介绍了java 用泛型参数类型构造数组详解及实例的相关资料,需要的朋友可以参考下
4.1 不能用基本类型实例化类型参数 4.2 运行时类型查询只适用于原始类型 4.3 泛型类的静态上下文中类型变量失效 4.4 不能创建参数化类型的数组 4.5 不能实例化类型变量 4.6 不能捕获泛型类的实例 五 泛型类型的继承...
主要介绍了Java泛型和Class类用法,结合实例形式分析了java使用泛型限制class类避免强制类型转换相关操作技巧,需要的朋友可以参考下
泛型 泛型类型的限定 3.反射 代码概述: bean :Person.java 这个人员类我就不说了 泛型dao接口 :GenericDao, ID extends Serializable> 泛型作为DAO的通用接口 CRUD方法 dao接口 : PersonDAO extends ...
主要介绍了Java编程探索之泛型擦除实例解析,具有一定参考价值,需要的朋友可以了解下。
在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...
先看下面一个例子,test1实例化一个List容器的时候没有指定泛型参数,那么我们可以往这个容器里面放入任何类型的对象,这样是不是很爽?但是当我们从容器中取出容器中的对象的时候我们必须小心翼翼,因为容器中的...