关于泛型方法,求大神讲解

图片说明

并非所有代码路径都返回值,怎么解决呢?求大神教

4个回答

return -1;地方写错了,你这样想:第一次for循环,if(true)就return 了0。如果if(false)则会执行return -1;所以你的返回值不是0就是-1。
再者,你这个算法写得。。。你要先对items判断是否为null.如果传null你这个不就错了么?
还有equals方法是比较值,不是比较对象,如果你传的是内容值相等,对象不同,返回的是true。

q812002440
cindyCode 回复caozhy: 对啊,是值的比较,但是如果他用的是泛型T,正常来说是比较对象的,总不会是想比较String,integer吧
3 年多之前 回复
Poetaster_true
Poetaster_true 回复caozhy: 我也这么认为
3 年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 equal对于引用,比较对象,相当于referenceequal,值类型比较值,这个没问题。
3 年多之前 回复

在循环外面加上 return - 1;

 我相信lz只是做一个习作,因为.net其实封装好了,FindIndex
比如
int[] arr = {1,2,3,4,5,6};
int i = arr.ToList().FindIndex(x => x == 1); // 0
直接用就可以了。

首先你的return -1 写错地方了,其次equals是比较值的,不是比较对象的,Java里有专门的对象比较器,你可以多熟悉熟悉基础,这些都是小问题。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问