导航:首页 > 编程语言 > java返回值泛型

java返回值泛型

发布时间:2022-08-18 06:16:11

1. java泛型方法可以返回 List<T> 吗

答案是肯定的!

publicclassDemo01<E>{

privateList<E>list=newArrayList<E>();

publicList<E>store(E[]arr){
list=Arrays.asList(arr);
returnlist;
}

publicstaticvoidmain(String[]args){
Demo01<String>d=newDemo01<>();
Stringanimals[]={"Cat","Dog","Pig","Monkey"};
List<String>list=d.store(animals);
for(Stringstring:list){
System.out.print(string+" ");
}
}
}

2. JAVA中的泛型用法一种: <T> 返回值用法。

1、对于泛型方法来说,是可以接收不同类型的参数,比如下图,使用泛型来操作List集合,然后向List中添加一条数据,看是否可以添加成功,创建泛型方法如图所示。

3. Java:这个返回值泛型是什么写法啊求解

这是jdk1.5 以后引入的写法,T不是一种类型,而是代表根据需要进行动态匹配。要求是封装类型的。比如Integer,String等或者你自己定义的实体类也是可以的。需要什么类型就把T换成相应的类型就可以了。

4. java 泛型的几种用法

1. public class DAO<T> {
/**
* 泛型类
* 声明类的同时声明泛型类型
* 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;
* }
* 把指定类型的数组中的元素放入到指定类型的集合中
*/

5. java泛型问题

1:因为返回值E这个类型不明,所以调用这个泛型方法的时候统一都是返回Object类型
2:声明成静态方法的时候,你调用这个方法的时候IDE就会检查语句,你的方法设置成你传啥参数,他的返回值就是啥,所以你这边参数设置成String类型的,你这边调用这个静态方法,他直接检查知道返回值就是String类型的,所以会给你报错
3:那只是你测试3的时候,没有把static修饰词去掉的问题,T跟E两个没有关系

6. java 方法中如何在返回类型使用泛型

主要是一个编译期的检查,也避免了我们代码中的强制转换,比较经典的用法有泛型DAO,泛型Page的DTO。

现在我要说的是一个挺有趣但是貌似还不是太多的人在代码中使用的方法,前段时间用guava和op4j的时候发现这样的用法,看看了源码,也是很简单的。

比如guava中创建集合的方法 List<xx> list = Lists.newArrayList(),这个代替了我们传统的 new ArrayList<xx>,为什么在=的右边不需要泛型了呢,我们看看源码。

[java] view plain
public static <E> ArrayList<E> newArrayList() {
return new ArrayList<E>();
}
返回类型中带有泛型E,并且这个泛型的来源在 static和 ArrayList之间的位置,我自己的理解是这个就和=左边的一致,可能说的不够专业但是意思应该就这样。

于是我就依样画葫芦在自己的代码中也用了起来。

我要做的是一个仿httpsession机制的自定义协议是session。在httpsession.getAttribute方法返回的是一个
Object,然后我们再类型转换。现在我用返回类型泛型来优化这个代码,以下是我自定义协议session的getAttribute的代码。
[java] view plain
@SuppressWarnings("unchecked")
public <E> E getAttribute(String key) {
return (E) map.get(key);
}
调用代码
[java] view plain
Boolean isFirst = session.getAttribute("first");
在httpsession中我们则要这么写
[java] view plain
Boolean isFirst = (Boolean)session.getAttribute("first");

泛型的用法还有很多,有新的心得再补充更新

7. 简述java常用3种泛型定义及其作用

泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
定义泛型方法语法格式如下:

定义泛型方法时,必须在返回值前边加一个<T>,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。
Class<T>的作用就是指明泛型的具体类型,而Class<T>类型的变量c,可以用来创建泛型类的对象。

8. java中一个方法的返回值可能是integer或者Double,请问该怎么定义泛型接收

泛型也做不到,泛型是用来推导一批函数,用不同的类型实例化出不同的函数,你得要求是,同一个函数,不同case的返回值类型不同,泛型不太适合你的需求。
泛型方法可类型如下定义:
public <T> T function(参数)
{
return ....;

}
T推导成何种类型,看如果调用
例如:
int i = function();//T = Integer
Object o = function();//T = Object
然而无论T为何种类型,推导之后的T都是唯一的,其实就是函数的返回值类型,是确定的。
从这个角度来说,设计上你这个想法是有问题的。
可以定义返回类型是Object,这样无论if else返回什么类型都能适用,不过还是再强调一下,这个不同case返回不同类型的设计,有点问题。

9. java中返回值类型<T> T 这两个T分别代表什么

这个语法叫“泛型”,所谓泛型,是类型的参数化。

10. JAVA方法返回值

这是泛型类型啊,你看类的定义原型,一般形式为
class
SomeName
.....
这个类一般表示一种数据结构模型,例如集合、链表之类的,E
表示此数据结构中可以存储的元素类型。E
表示
Element,有的时候可能看到是
T(表示
Type),都一回事。
有的地方是不限定
E
的,也就是说某个结构里可以存储任何类型的数据,而你在用的时候可以指定,例如
SomeName
a
=
new
SomeName
();
就指定了这个
a
只能存储
Integer
对象,也就是只能存储整数。以后如果有返回
E
的方法就相应返回
Integer
对象。
不过有的地方对
E
有要求,例如
TreeSet
里需要对元素排序,那它只能存储能够比较大小的元素,也就是要求
E
一定要实现
Comparable
接口,那么一般就会定义成:public
class
TreeSet
......
这种形式。用的时候就必须指定一个实现了
Comparable
接口的类,例如:
TreeSet
b
=
new
TreeSet
();
如果你的
YourType
没有实现
Comparable
接口就会报错。

阅读全文

与java返回值泛型相关的资料

热点内容
随车拍app绑定什么设备 浏览:893
方维团购系统源码 浏览:988
linux反弹shell 浏览:152
打印机接口加密狗还能用吗 浏览:299
二板股票源码 浏览:446
度人经pdf 浏览:902
怎么配置android远程服务器地址 浏览:960
java程序员看哪些书 浏览:943
什么app可以免费和外国人聊天 浏览:796
pdf手写笔 浏览:182
别永远伤在童年pdf 浏览:990
爱上北斗星男友在哪个app上看 浏览:421
主力散户派发源码 浏览:671
linux如何修复服务器时间 浏览:61
荣县优途网约车app叫什么 浏览:479
百姓网app截图是什么意思 浏览:229
php如何嵌入html 浏览:817
解压专家怎么传输 浏览:745
如何共享服务器的网络连接 浏览:136
程序员简易表白代码 浏览:170