我在程序里有3条语句,第一条进行里数据库操作,读出了一个数,第二条引用读出的数作为长度初始化了一个数组,第3条读取了数组的长度。但是我发现这两条语句都被延后执行了,以至于第三条执行时出现了空指针错误。我利用输出信息也证明了确实是出现了前两条语句的延迟。
请问为什么会出现这样的延后情况?应该如何改正呢?

解决方案 »

  1.   

    不是多线程,怎么能延后?
    从来没见过.
    println(第一条进行里数据库操作,读出了一个数);
    println(数组的长度);
    看看结果。
      

  2.   

    错误信息是这样的
    java.lang.NullPointerException
    at epigraphdesign.EpiApp.getPrice(EpiApp.java:1898)
    the line number is: 1876后面的是我让他输出的信息,行号为1876,也就是在定义数组的时候;很明显,程序先执行了读数组长度,然后才执行了定义。说明程序确实没有按顺序进行哦
    我使用过逐步调试的方法,在程序里下了几个断点,这时候程序确实是按顺序走的非常奇怪啊