好奇心が旺盛です。
私はいくつかのJavaコードを書きましたが、Null Pointer Exceptionが表示されています。ポインターをサポートしていないのに、Java が Null ポインター例外を与えるのはなぜですか?
好奇心が旺盛です。
私はいくつかのJavaコードを書きましたが、Null Pointer Exceptionが表示されています。ポインターをサポートしていないのに、Java が Null ポインター例外を与えるのはなぜですか?
ポインター演算がないという事実は、言語でポインターが使用されていないという意味ではありません。Java に関して言えば、多くのポインターがあり、.ではなく で参照をたどるだけ->です。
Object referencesはポインターにすぎませんが、 のように複雑ではありませんPointers。違いはこちらをご覧ください。
Javaは.ポインターをサポートしています (またはがあるたびに使用します[)。
ポインタ算術をサポートしていません。つまり、数学を使用してポインタを別のポインタに操作する機能です。
これを変換された C/C++ プログラマーに指摘するために、彼らは C 名を引き継がず、別の名前を付けました。JVM レベルではすべてがポインターですが、Java プログラマーは参照を使用する場合にのみこれを確認するため、例外の名前は不適切です。
Javaには確かにポインターがあります。(a) オブジェクトへの参照、または (b) nullの 2 種類の値を持つことができます。これは、仕様で使用される言語です。
ただし、Java ポインターは、C ポインターよりも Pascal ポインターに似ています。
これは、Java の「C」遺産からの持ち越しです。それは貿易の用語でもあります。