作者ogamenewbie (._.)
看板java
标题Re: [问题] ArrayList、Array、区域变数
时间Sat Mar 20 01:27:41 2010
以後我可能会针对算命文加一条版规.
针对算命文的定义目前暂定就是 "没有足够的资讯判别错误发生的原因"
处置暂时预定就是锁文直到改善,
修改方式可能是针对 4.2 及 5 作整并或厘清范围...
详细细节会再跟另外一位板主讨论过後.
再另行公告修改版规的事宜, 以及如果有修改版规的话, 会公布新版规.
以这篇文章为例, 具体发生 NullPointerException 的程式前後内容完全没有附上.
更不用说 NullPointerException 的错误讯息没有打全.
间接导致阅读者无法迅速的从问题的发生点判明问题发生的原因.
但是既然回文了, 我就姑且算算命卜卜卦.
因为你把 floatList.add(0,"Only") 放在 setNum() 里面
所以如果 main 里面很晚呼叫 setNum() 或者根本没呼叫过.
而在 setNum() 之前就去取出 floatList 里面的值,
那 NullPointerException 也只是刚好而已.
举个很现实的例子... 如果你有玩过开心农场.
都还没播种就想要收菜嘛?
※ 引述《love112302 (小黑炭)》之铭言:
: 会出现 IndexOutOfBoundsException
错误讯息不只这一行吧.
: 可是在 setNum 这个 method 可以正常print出来
: 请问是为什麽哩....
如果程式码只有你说的这样, 可以请你解释哪边有 print 什麽东西嘛?
: 想请问要怎麽宣告才可以让这个 arrayList 能够让所有的method都能使用
: 另外 ogamenewbie 你的比喻我真的看不太懂阿....
因为我根本不知道你的流程, 只能用推测的,
在你看来是鸡同鸭讲也是理所当然的.
: 意思是说 我 .add() 这个动作不是放值进去吗@@?
是放值进去吧. 虽然我没去 check API. (比较常用 HashMap 没在用 ArrayList)
※ 引述《love112302 (小黑炭)》之铭言:
: 想知道
: ArrayList Array
: 可以宣告成区域变数吗?
: public class Test_Array
: {
: private ArrayList<String> floatList = new ArrayList<String>();
: public static void main(String args[]){
: ...........}
: public void setNum(){
: floatList.add(0,"Only")
: }
: }
: 我用这样去宣告ArrayList可以compile过
: 可是我在其它的method去取出 floatList 里面 0 的值 ( floatList.get(0) )
: 会出现 nullpointer....
: 可是在 setNum 这个 method 可以正常使用
: 请问是为什麽哩....
: 想请问要怎麽宣告才可以让这个 arrayList 能够让所有的method都能使用
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.33.96
※ 编辑: ogamenewbie 来自: 218.160.33.96 (03/20 01:36)
※ 编辑: ogamenewbie 来自: 218.160.33.96 (03/20 01:39)
※ 编辑: ogamenewbie 来自: 218.160.33.96 (03/20 01:48)
1F:推 love112302:我想说把有影响到的程式po上来就好 03/20 01:51
问题是有影响到的不只这些.
你是在别的 class 去 new TestArray, 还是你是在 TestArray 里面的 Main 跑而已?
这个 floatList 是所有的 TestArray 共通使用的,
还是 new 一个 TestArray 就有一个各自独立的?
你以为那些没有影响, 实际上少了那些就一堆方式可以去假设你程式可能的作法.
而事实上你可能根本就没那麽想过.
※ 编辑: ogamenewbie 来自: 218.160.33.96 (03/20 02:14)
※ 编辑: ogamenewbie 来自: 218.160.33.96 (03/20 02:18)