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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中一个方法的返回值可能是integer或者Double,请问该怎么定义泛型接收相关的知识,希望对你有一定的参考价值。

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返回不同类型的设计,有点问题。
参考技术A public class Test
public static void main(String args[])
Test test = new Test();
System.out.println(test.getNumber(11.23));

public <T> T getNumber(T t)
return t;


参考技术B 方法返回值 一定确定吧? 不可能出现两种,Object可以接受追问

我的意思是lf else 里面,返回的结果类型是不同的,不想用object去接受,如果用泛型该怎么定义?

我的意思是lf else 里面,返回的结果类型是不同的,不想用object去接受,如果用泛型该怎么定义?

追答

方法返回值 只能是一种 返回值在方法定义的 给我代码看一下呀

以上是关于java中一个方法的返回值可能是integer或者Double,请问该怎么定义泛型接收的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中Integer的==和equals注意

java中方法的返回类型都有哪些?可以引用数据类型吗?举例说明

java 泛型函数需要返回Integer 我返回null 为啥报空指针异常

Integer类

sqlserver数据库存储过程返回值只能是integer类型吗? 不能返回字符串吗?

android AsyncTask 怎么返回值给UI线程