第二番 使用return遇到的坑

0.描述

在一個(gè)返回值為void方法中使用了return。這句話(huà)的意思是在一個(gè)并不期望得到返回值的方法中使用了 **return; ** 語(yǔ)句。

1.問(wèn)題描述

BlockView 類(lèi)中包含 int x,與 int y 兩個(gè)屬性,在方法中執(zhí)行完對(duì)相應(yīng)BlockView對(duì)象的處理后有時(shí)會(huì)將x、y設(shè)置為-1, 而代碼中由于執(zhí)行了return;語(yǔ)句,造成在方法結(jié)束時(shí)未執(zhí)行清理語(yǔ)句blocks.clear();,導(dǎo)致這些被置為-1的對(duì)象還存在于blocks中,進(jìn)而導(dǎo)致下次進(jìn)入這個(gè)方法時(shí),由于一些BlockView對(duì)象的x、y值為-1,導(dǎo)致代碼 部分會(huì)出現(xiàn)數(shù)組下標(biāo)為-1的異常。
類(lèi)似關(guān)于return的問(wèn)題我已經(jīng)遇到2回了╮(╯▽╰)╭敢不敢再粗心點(diǎn)、

2.代碼示例

private boolean beginMoveToLeft(List<BlockView> blocks) {
   
    if(blocks==null ||blocks.size()==0) {
        return ;
    }
    if(blocks.size() == 2){
        ...
    } if(blocks.size() == 3) {         // 
        BlockView b0 = blocks.get(0);
        BlockView b1 = blocks.get(1);
        BlockView b2 = blocks.get(2);
        int x0 =  b0.getLocation()[0];//
        int x1 = b1.getLocation()[0];//
        int x2 = b2.getLocation()[0];//x坐標(biāo)   
        int y = b0.getLocation()[1];  //y坐標(biāo)
        if(b0.isEquals(b1.getPower())) {//②
            ...//對(duì) b0 b1 b2 分別進(jìn)行操作
            ... //將 他們的x y 置為-1
           dyadicArray[x0][y] = -1; // ①      二維數(shù)組矩陣記錄位置
            return ;
        }
        if(b1.isEquals(b2.getPower())) {
            ...//
        }else{
        }
    } else if(blocks.size() == 4) {
          ...
    }
    blocks.clear();//**************重點(diǎn)***************
}

3.總結(jié)

啰里啰嗦一大堆,總結(jié)起來(lái)一句話(huà):“使用return要當(dāng)心,看看后面有沒(méi)有因?yàn)樘崆敖K止而未執(zhí)行到的語(yǔ)句”。

END


將開(kāi)發(fā)中遇到的問(wèn)題記錄下來(lái);再遇到奇怪問(wèn)題來(lái)看一眼;想必會(huì)有啟發(fā);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,933評(píng)論 18 139
  • 一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)使用 weka 中的常用分類(lèi)器,完成數(shù)據(jù)分類(lèi)任務(wù)。 二、實(shí)驗(yàn)內(nèi)容 了解 weka 中 explo...
    yigoh閱讀 8,638評(píng)論 5 4
  • 還記得今年上半年迪士尼那部口碑逆天的《瘋狂動(dòng)物城》嗎? 這部幾乎無(wú)差評(píng)的動(dòng)畫(huà)自問(wèn)世以來(lái),就提前鎖定了奧斯卡最佳動(dòng)畫(huà)...
    56a2e7161bc9閱讀 911評(píng)論 0 1
  • 七月十五,俗稱(chēng)鬼節(jié),x正在準(zhǔn)備出生,不是在醫(yī)院,而是在家里。太突然了,x的爺爺去叫鄰村有名氣的接生婆還沒(méi)回來(lái),x就...
    燕園少子閱讀 458評(píng)論 0 0
  • 2010年我不顧家人的反對(duì),毅然決然的填報(bào)了動(dòng)物醫(yī)學(xué)這個(gè)專(zhuān)業(yè)。 2014年畢業(yè)后第一份工作是推銷(xiāo)豬飼料的技術(shù)服務(wù)員...
    鬼紋閱讀 760評(píng)論 1 5