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