`
zds420
  • 浏览: 197012 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Java泛型方法,返回泛型类型实例

    博客分类:
  • J2SE
 
阅读更多
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泛型加减乘除

    这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...

    Java 泛型擦除后的三种补救方法

    Java中的泛型,在运行时刻其具体类型是被擦除的,这样我们就不能用new T(),instanceof等关操作,特别是对泛型类型的类的实例化问题,在此根据《Thinking in Java》中所讲的对类型擦除所带来问题的三种解决方案,比较...

    JAVA利用泛型返回类型不同的对象方法

    下面小编就为大家带来一篇JAVA利用泛型返回类型不同的对象方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JAVA泛型总结

    java 泛型详解 实例 class Point class Notepad,V&gt;{ // 此处指定了...通配符、受限泛型、泛型无法向上转型、泛型接口、泛型方法、通过泛型方法返回泛型类型实例、使用泛型统一传入的参数类型、泛型数组、泛型的嵌套设置

    Java泛型单元试题.html

    精选java关于泛型的原理,应用和面试题,包含所有泛型考点。例如,泛型的概念,类型,实例化,容易混淆的用法。每一道题附上答案,方便理解考试要点。

    Java 泛型通配符的一个实例

    * 一个参数通配符的实例 * 说明:对一个包含了数值元素的集合进行汇总运算。在这种情况下,用户并不关心 * 集合中的每一个对象... * 方法声明了一个参数变量values是List类型,该集合中的元素必须是Number的子类对象

    Java泛型:概念、用法与优势

    在本文中,我们简要介绍了Java泛型的概念,并通过实例和代码详细解释了泛型的用法。我们通过一个泛型类存储不同类型的数据,使用泛型方法打印任意类型的数据,并通过通配符方法比较两个Box内的数据是否相等。 综上...

    Java语言 泛型讲解案例代码 (泛型类、泛型接口、泛型方法、无界及上下限通配符、泛型对协变和逆变的支持、类型擦除 ...)

    学习和理解Java泛型的基本概念和语法; 实际项目中需要使用泛型来增加类型安全性和重用性的开发任务。 目标: 本代码资源的目标是帮助读者理解泛型的用法和优势,并通过实际的示例代码加深对泛型的掌握。读者可以...

    Java 基础泛型.pdf

    Java泛型的核心思想是类型参数化,即在类、接口或方法的定义中使用类型参数来代替具体的类型,这些类型参数在实例化时被具体类型替换,从而实现了通用性和类型安全。 主要特性包括 1. 类型参数:在类、接口或方法的...

    Java泛型映射不同的值类型详解及实例代码

    主要介绍了Java泛型映射不同的值类型详解及实例代码的相关资料,需要的朋友可以参考下

    泛型java的泛型知识,非常有用

    泛型的知识,请自己参考吧。主要介绍java泛型的知识。

    java深度历险

    JAVA泛型 28 类型擦除 28 实例分析 29 通配符与上下界 30 类型系统 31 开发自己的泛型类 32 最佳实践 32 参考资料 33 目录 3 JAVA注解 34 使用注解 34 开发注解 35 处理注解 35 实例分析 38 参考资料 39 JAVA反射与...

    Java 获取泛型的类型实例详解

    主要介绍了Java 获取泛型的类型实现代码的相关资料,需要的朋友可以参考下

    java 用泛型参数类型构造数组详解及实例

    主要介绍了java 用泛型参数类型构造数组详解及实例的相关资料,需要的朋友可以参考下

    Java泛型深入学习和总结 看这一篇就足够!

    4.1 不能用基本类型实例化类型参数 4.2 运行时类型查询只适用于原始类型 4.3 泛型类的静态上下文中类型变量失效 4.4 不能创建参数化类型的数组 4.5 不能实例化类型变量 4.6 不能捕获泛型类的实例 五 泛型类型的继承...

    Java泛型和Class类用法示例

    主要介绍了Java泛型和Class类用法,结合实例形式分析了java使用泛型限制class类避免强制类型转换相关操作技巧,需要的朋友可以参考下

    泛型dao 泛型dao 泛型dao

    泛型 泛型类型的限定 3.反射 代码概述: bean :Person.java 这个人员类我就不说了 泛型dao接口 :GenericDao, ID extends Serializable&gt; 泛型作为DAO的通用接口 CRUD方法 dao接口 : PersonDAO extends ...

    Java编程探索之泛型擦除实例解析

    主要介绍了Java编程探索之泛型擦除实例解析,具有一定参考价值,需要的朋友可以了解下。

    JAVA上百实例源码以及开源项目源代码

     在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...

    一个小例子聊聊 JAVA 泛型基础

     先看下面一个例子,test1实例化一个List容器的时候没有指定泛型参数,那么我们可以往这个容器里面放入任何类型的对象,这样是不是很爽?但是当我们从容器中取出容器中的对象的时候我们必须小心翼翼,因为容器中的...

Global site tag (gtag.js) - Google Analytics