日期:2014-05-20  浏览次数:20692 次

帮我看看怎么回事?
public int compare(byte[]rec1,byte[]rec2){
int recInt1,recInt2;
try{
byteArrayStream=new ByteArrayInputStream(rec1);
dataStream=new DataInputStream(byteArrayStream);
recInt1=dataStream.readInt();
byteArrayStream=new ByteArrayInputStream(rec2);
dataStream=new DataInputStream(byteArrayStream);
recInt2=dataStream.readInt();
if(recInt1==recInt2)
return RecordComparator.EQUIVALENT;
else if(recInt1<recInt2)
return RecordComparator.PRECEDES;
else 
return RecordComparator.FOLLOWS;
}
catch(Exception error){
}
}
说类型不一样!!着急!!!

------解决方案--------------------
因为你把return放到try-catch里了,如果抛出异常的话,此方法就没有返回值了。
建议你把else的return防到try-catch外面。

ps:
方法遇到return后就会跳出该方法,而不会执行之后的任何语句了。
------解决方案--------------------