我有一個應該返回ByteBuffer的方法。該方法的肉執行以下操作:當上一個值爲空時ByteBuffer翻轉
if (true) {
//code that puts some data into ByteBuffer bb
return bb
}
else {
//should not be writing any data to bb
//intention: leave bb as is
return null;
}
調用此方法,並把必要的數據到字節緩衝區後,我把它變成一個字節數組先調用bb.flip()
。但是,如果通過if-else循環的最後一次迭代發生錯誤,那麼最後輸入的數據是null
,我得到了java.lang.NullPointerException
錯誤。
Allocating zero capacity ByteBuffer
根據上面的頁面,我應該返回一個零長度的ByteBuffer,但我不知道怎麼回這樣的事情。
關於如何返回空字節緩衝區的任何想法?
[Stack Overflow用戶需要多少研究工作?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users )答案是:「很多,一個荒謬的數額,超過你認爲你的能力,當你到達繩索的盡頭,沒有答案的痛苦超過了通過發佈你的問題收到的大量羞恥,那時候你可以繼續問,因爲在那個時候,你會做任何必要的研究,使它成爲一個值得問的問題。「* –
你發佈的問題有你需要的確切代碼。 **這實際上是問題中的第二行!**到目前爲止您詢問的每個[tag:java]問題都可以通過簡單閱讀[tag:javadoc]來解釋。 –
在來這裏學習使用[JavaDoc](https://stackoverflow.com/questions/11747712/where-is-the-javadoc-for-my-installed-java-i-have-sdk-for-7)請求其他人閱讀給你。 ['ByteBuffer.allocate()'](https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html#allocate(int)) –