Java 为什么我必须转换返回值?
对我来说,我调用的函数已经返回了我必须强制转换的类型。我为什么要这么做Java 为什么我必须转换返回值?,java,generics,casting,Java,Generics,Casting,对我来说,我调用的函数已经返回了我必须强制转换的类型。我为什么要这么做 T[]leftPart=(T[]) sort(copyOfRange(a,0,middle)); 我创建的copyOfRange方法应该返回与参数a相同的类型 代码如下: static public <T extends Comparable<T>> Object[] sort(T[] a){ int middle=a.length/2; T[]leftPart=(T[
T[]leftPart=(T[]) sort(copyOfRange(a,0,middle));
我创建的copyOfRange方法应该返回与参数a相同的类型
代码如下:
static public <T extends Comparable<T>> Object[] sort(T[] a){
int middle=a.length/2;
T[]leftPart=(T[]) sort(copyOfRange(a,0,middle));
}
static public<T> T[] copyOfRange(T[] original,int from,int to){
int size=to-from;
T[] retObject=(T[])new Object[size];
for(int i=0;i<size;i++) retObject[i]=original[from+i];
return retObject;
}
静态公共对象[]排序(T[]a){
int middle=a.length/2;
T[]leftPart=(T[])排序(copyOfRange(a,0,middle));
}
静态公共T[]copyOfRange(T[]原始,int-from,int-to){
int size=to-from;
T[]retObject=(T[])新对象[size];
对于(int i=0;icopyOfRange
返回T[]
,但您将其放在sort()
中,并sort()
返回一个对象[]
copyOfRange
返回T[]
,但您将其放在sort()
中并sort()返回一个对象[]
copyOfRange
返回了T[]
,但是你把它放在sort()
和sort()
返回了一个对象[]
copyOfRange
返回了T[]
,但是你把它放在sort()
和sort()返回了一个对象[]
sort
被声明为返回Object[]
,而不是T[]
。我将标题缩减为核心问题,并将其余部分移到问题陈述中。尽量保持问题标题简洁。sort
被声明为返回Object[]
,而不是T[]
。我将标题缩减为核心问题,并将其余部分移至问题陈述。尽量保持问题标题简洁。sort
声明为返回Object[]
,而不是T[]
。我将标题缩减为核心问题,并将其余标题移至问题陈述。请尽量保持问题标题简洁。排序
声明为返回对象[]
,而不是T[]
。我将标题缩减为核心问题,并将其余标题移至问题陈述。请尽量保持问题标题简洁。