并非所有代码路径都返回值,怎么解决呢?求大神教
return -1;地方写错了,你这样想:第一次for循环,if(true)就return 了0。如果if(false)则会执行return -1;所以你的返回值不是0就是-1。
再者,你这个算法写得。。。你要先对items判断是否为null.如果传null你这个不就错了么?
还有equals方法是比较值,不是比较对象,如果你传的是内容值相等,对象不同,返回的是true。
在循环外面加上 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里有专门的对象比较器,你可以多熟悉熟悉基础,这些都是小问题。