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

java中一个方法的返回值可能是integer或者Double,请问该怎么定义泛型接收?谢谢!
最新回答
薄荷糖味的吻

2024-11-02 18:24:05

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

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

2024-11-02 13:28:47

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;
}

}
沉醉不知归路

2024-11-02 18:23:30

方法返回值 一定确定吧? 不可能出现两种,Object可以接受
追问
我的意思是lf else 里面,返回的结果类型是不同的,不想用object去接受,如果用泛型该怎么定义?
我的意思是lf else 里面,返回的结果类型是不同的,不想用object去接受,如果用泛型该怎么定义?
追答
方法返回值  只能是一种  返回值在方法定义的   给我代码看一下呀