第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

自己寫(xiě)的鏈表debug報(bào)空指針,直接運(yùn)行正常。

自己寫(xiě)的鏈表debug報(bào)空指針,直接運(yùn)行正常。

這個(gè)錯(cuò)誤如題很奇怪,dubug下提示類(lèi)中的Node類(lèi)空指針,而直接運(yùn)行就不會(huì)報(bào)錯(cuò)誤,圖如下正常執(zhí)行dubug運(yùn)行內(nèi)部實(shí)現(xiàn)代碼如下package?utils; /** ?*?@author?yqs ?*?@description ?*?@time?2019/7/13?18:09 ?*/ public?class?SingleLinked<E>?{ ????private?int?size; ????private?Node<E>?dummyHead; ????public?SingleLinked(){ ????????dummyHead?=?new?Node<>(); ????} ????private?class?Node<E>{ ????????private?Node?next; ????????private?E?element; ????????public?Node(){ ????????????this(null,?null); ????????} ????????public?Node(E?element,Node?next){ ????????????this.element?=?element; ????????????this.next?=?next; ????????} ????????@Override ????????public?String?toString(){ ????????????if?(element!=null){ ????????????????return?element.toString(); ????????????} ????????????return?null; ????????} ????} ????public?void?addFirst(E?e)?{ ????????dummyHead.next?=?new?Node<>(e,dummyHead.next); ????????size++; ????} ????//指定位置添加元素 ????public?void?add(E?e,?int?index)?{ ????????if?(index?<?0?||?index?>?size)?{ ????????????throw?new?IllegalArgumentException("index?is?illegal,add?failed"); ????????} ????????Node?head?=?dummyHead; ????????for?(int?i?=?0;?i?<?index;?i++)?{ ????????????head?=?head.next; ????????} ????????head.next?=?new?Node(e,head.next); ????????size++; ????} ????public?void?addLast(E?e){ ????????add(e,size); ????} ????//在指定位置刪除元素 ????public?E?remove(int?index){ ????????//System.out.println(dummyHead); ????????//存虛擬頭結(jié)點(diǎn) ????????Node<E>?prev?=?dummyHead; ????????for?(int?i?=?0;?i?<?index;?i++)?{ ????????????prev?=?prev.next; ????????} ????????//將當(dāng)前元素存入prev_temp臨時(shí)變量中 ????????Node<E>?prev_temp?=?prev.next; ????????//將當(dāng)前元素的前一個(gè)節(jié)點(diǎn)的next指向當(dāng)前元素的下一個(gè)節(jié)點(diǎn); ????????prev.next?=?prev_temp.next; ????????//將當(dāng)前元素的next設(shè)置為null等待虛擬機(jī)回收 ????????prev_temp.next?=?null; ????????size--; ????????return?prev_temp.element; ????} ????public?int?getSize()?{ ????????return?size; ????} ????public?boolean?isEmpty(){ ????????return?size?==?0; ????} ????@Override ????public?String?toString(){ ????????StringBuilder?sb?=?new?StringBuilder(); ????????for?(int?i?=?0;?i?<?size;?i++)?{ ????????????sb.append(dummyHead.next); ????????????sb.append(","); ????????????dummyHead?=?dummyHead.next; ????????} ????????return?sb.toString(); ????} }另外,要是換成雙向鏈表要加一個(gè)尾節(jié)點(diǎn),還有要不要在Node類(lèi)中加一個(gè)prev節(jié)點(diǎn)指向上一個(gè)呢,我看網(wǎng)上有的教程并沒(méi)有加這個(gè)prev,jdk源碼加了
查看完整描述

1 回答

已采納
?
cxxyjsj

TA貢獻(xiàn)119條經(jīng)驗(yàn) 獲得超22個(gè)贊

調(diào)試時(shí)IDE自動(dòng)計(jì)算變量引用導(dǎo)致的, prev == null 那么prev.next 肯定是空指針

查看完整回答
1 反對(duì) 回復(fù) 2019-07-13
  • 慕粉1145407289
    慕粉1145407289
    那這個(gè)應(yīng)該不算我代碼的問(wèn)題吧,這種問(wèn)題有解決辦法沒(méi)有
  • 1 回答
  • 0 關(guān)注
  • 925 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)