「java返回值泛型」java方法返回值类型为泛型
今天给各位分享java返回值泛型的知识,其中也会对java方法返回值类型为泛型进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中返回值类型 T 这两个T分别代表什么?
- 2、java 方法中如何在返回类型使用泛型
- 3、JAVA中的泛型用法一种: 返回值用法。
- 4、java 泛型的几种用法
- 5、简述java常用3种泛型定义及其作用
java中返回值类型 T 这两个T分别代表什么?
定义一个泛型方法get,含有一个泛型T,方法有一个参数,类型为ClassT。
java 方法中如何在返回类型使用泛型
主要是一个编译期的检查,也避免了我们代码中的强制转换,比较经典的用法有泛型DAO,泛型Page的DTO。
现在我要说的是一个挺有趣但是貌似还不是太多的人在代码中使用的方法,前段时间用guava和op4j的时候发现这样的用法,看看了源码,也是很简单的。
比如guava中创建集合的方法 Listxx list = Lists.newArrayList(),这个代替了我们传统的 new ArrayListxx,为什么在=的右边不需要泛型了呢,我们看看源码。
[java] view plaincopy
public static E ArrayListE newArrayList() {
return new ArrayListE();
}
返回类型中带有泛型E,并且这个泛型的来源在 static和 ArrayList之间的位置,我自己的理解是这个就和=左边的一致,可能说的不够专业但是意思应该就这样。
于是我就依样画葫芦在自己的代码中也用了起来。
我要做的是一个仿httpsession机制的自定义协议是session。在httpsession.getAttribute方法返回的是一个
Object,然后我们再类型转换。现在我用返回类型泛型来优化这个代码,以下是我自定义协议session的getAttribute的代码。
[java] view plaincopy
@SuppressWarnings("unchecked")
public E E getAttribute(String key) {
return (E) map.get(key);
}
调用代码
[java] view plaincopy
Boolean isFirst = session.getAttribute("first");
在httpsession中我们则要这么写
[java] view plaincopy
Boolean isFirst = (Boolean)session.getAttribute("first");
泛型的用法还有很多,有新的心得再补充更新
JAVA中的泛型用法一种: 返回值用法。
1、对于泛型方法来说,是可以接收不同类型的参数,比如下图,使用泛型来操作List集合,然后向List中添加一条数据,看是否可以添加成功,创建泛型方法如图所示。
2、然后在写一个main方法来测试一下这个泛型方法,先向集合中添加一条String类型的数据,打印List集合中的元素,如图所示。
3、上面是往List集合中添加了一个String类型的数据,下图往List集合中添加一条Integer类型的数据并打印,当然也可以自己创建对象进行添加。
4、泛型也是可以限制要使用的参数类型的,比如上面,list集合中,只想加入数字类型的数据,当然也是可以的,只要让类中的T继承Number就行了,如图所示。
5、下面在测试一下,向集合中添加一个Long类型的数据并打印,如图所示。
6、最后输出就完成了。
java 泛型的几种用法
1. public class DAOT {
/**
* 泛型类
* 声明类的同时声明泛型类型
* 1.方法的返回值可以是使用声明的泛型类型
* 2.方法的参数也可以是声明类的泛型类型
* 3.方法体内可以使用泛型类型
*/
public T get(Integer id){
return null;
}
public void save(T entity){
}
}
2.
/**
* 泛型方法: 在方法声明时, 同时声明泛型. 在方法的返回值, 参数列表以及方法体中都可以使用泛型类型.
* public static T T get(Integer id){
* T result = null;
* return result;
* }
* 把指定类型的数组中的元素放入到指定类型的集合中
*/
简述java常用3种泛型定义及其作用
泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
定义泛型方法语法格式如下:
定义泛型方法时,必须在返回值前边加一个T,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。
ClassT的作用就是指明泛型的具体类型,而ClassT类型的变量c,可以用来创建泛型类的对象。
关于java返回值泛型和java方法返回值类型为泛型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。