の外に、エラーが発生したブレークポイントを右に、私はこれ持っていないとき:次には境界例外から抜け出す私はEclipseのデバッガにいるときにリストが境界
elementData Object[49] (id=77) // I would provide the elements, but that is confidential (like,
// actually NDA, for real confidential). I can guarantee they are Strings and populated with data.
modCount 34
size 34
を、私はこれを取得しますデバッガが(問題の行の前に、cCase.setGovSchool(propertyGet(this.fileContents.get(0)));
)のサイズが34であると言うサイズが0であることを私に伝えるスタックトレース。
照会された索引がサイズ以上の場合にのみ、Javaソース・コードを調べると、IndexOutOfBoundsException
がスローされます。インデックス0はサイズ34以上ではありません。スタックトレースに表示されるように、サイズが0に設定された原因は何ですか?
スタックトレースの下:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at ifly6.casemanager.CaseManagerReader.getCase(CaseManagerReader.java:53)
at ifly6.casemanager.CMZipLoader.getCases(CMZipLoader.java:71)
at ifly6.casemanager.gui.CMSearchPane$1.getMatches(CMSearchPane.java:160)
at ifly6.casemanager.gui.CMSearchPane$1.actionPerformed(CMSearchPane.java:151)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:724)
at java.awt.EventQueue$4.run(EventQueue.java:722)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
コードの関連セクションは次のとおりです。
public CaseManagerReader(List<String> fileContents) {
this.fileContents = fileContents;
}
public CMCase getCase() {
CMCase cCase = new CMCase();
// ==========
// Fields
// ==========
cCase.setGovSchool(propertyGet(this.fileContents.get(0)));
cCase.setTeamName(propertyGet(fileContents.get(1)));
cCase.setPrimeMinister(propertyGet(fileContents.get(2)));
cCase.setmGovernment(propertyGet(fileContents.get(3)));
cCase.setCaseOwner(propertyGet(fileContents.get(4)));
}
それは安全でないマルチスレッドを叫びます – Amit
私が知る限り、私はスレッドが(ウィンドウが実行されるスレッドを超えて)作成していません。デバッガは3つのスレッドを表示します。 – ifly6
マルチスレッドとは別に、これはfileContentsがいっぱいではない/空であるようです。 – Blue