Java ByteBuffer中的NullPointerException

Java ByteBuffer中的NullPointerException,java,nullpointerexception,Java,Nullpointerexception,byteBuffer.hasRemaining()会被标记为NullPointerException,尽管我为它提供了一个支持数组。 这里有什么问题请检查您是如何初始化byteBuffer的,它应该是这样的,因为wrap是一种静态方法 byteArray = new byte[10000]; -- some code here ---- byteBuffer.wrap(byteArray); for (int i=0; byteBuffer.hasRemaining(); i++) {

byteBuffer.hasRemaining()
会被标记为
NullPointerException
,尽管我为它提供了一个支持数组。

  • 这里有什么问题
  • 请检查您是如何初始化
    byteBuffer
    的,它应该是这样的,因为
    wrap
    是一种静态方法

    byteArray = new byte[10000];
    
    -- some code here ----
    
    byteBuffer.wrap(byteArray);
    for (int i=0; byteBuffer.hasRemaining(); i++)
    {
        shortArray[i] = byteBuffer.getShort();
        System.out.println(shortArray[i]);
    }
    

    请检查如何初始化
    byteBuffer
    它应该是这样的,因为
    wrap
    是一种静态方法

    byteArray = new byte[10000];
    
    -- some code here ----
    
    byteBuffer.wrap(byteArray);
    for (int i=0; byteBuffer.hasRemaining(); i++)
    {
        shortArray[i] = byteBuffer.getShort();
        System.out.println(shortArray[i]);
    }
    

    代码似乎还可以。我怀疑这是(由于某些错误)因为byteBuffer variable=null代码似乎正常。我怀疑这是(由于一些错误)因为byteBuffer变量=null

    在这里初始化
    byteBuffer
    ?在这里初始化
    byteBuffer
    ?在
    null
    对象上调用
    static
    方法时会发生什么?@JanDvorak好的,我意识到我的错误:)接下来,从缓冲区中取出短路
    getShort()
    是抽象的。@JanDvorak,真的不知道。请让我们现在开始。@LittleChild
    getShort
    是抽象的,但它仍然需要由具体的子类实现(其中
    wrap
    返回一个)。试着调用它。@NikolayKuznetsov当你调用
    null
    对象上的
    static
    方法时会发生什么?@JanDvorak好吧,我意识到我的错误:)接下来,从缓冲区中取出短路
    getShort()
    是抽象的。@JanDvorak,真的不知道。请让我们现在开始。@LittleChild
    getShort
    是抽象的,但它仍然需要由具体的子类实现(其中
    wrap
    返回一个)。试着调用它。@NikolayKuznetsov
    HasRestaining
    不是静态的,所以在该点抛出异常,所以它不是一个bug。
    HasRestaining
    不是静态的,所以在该点抛出异常,所以它不是bug。