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

2024-12-05 07:24:06
推荐回答(3个)
回答1:

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

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

回答2:

public class Test{
public static void main(String args[]){
Test test = new Test();
System.out.println(test.getNumber(11.23));
}
public  T getNumber(T t){
return t;
}

}

回答3:

方法返回值 一定确定吧? 不可能出现两种,Object可以接受