それを行うための最良の方法は何ですか?
私は次のことを試しました:
ByteBuffer cacheBuffer=ByteBuffer.allocateDirect(nm(nLimit,0)); //where nm(nLimit,0) is a large number
double[] cache=cacheBuffer.asDoubleBuffer().array();
しかし、私はこの例外を受け取りました:
java.lang.UnsupportedOperationException
at java.nio.DoubleBuffer.array(Unknown Source)
なんで?
編集:
javadocは「このバッファをバックアップするdouble配列を返します(オプションの操作)」のように見えます。実際には、array()メソッドが、このバッファをすでにバックアップしているdouble配列を返すだけであることを意味します。どういうわけかバッファをdouble[]に変換しようと思っていました。だから今、私は例外を得たのは理にかなっています。