【发布时间】:2015-07-03 11:58:19
【问题描述】:
我正在阅读What is a NullPointerException, and how do I fix it?,在接受的答案中,我读到了一些我不太明白的内容:
int x; x = 10;在这个例子中,变量 x 是一个 int,Java 将初始化它 为你为 0。当您在第二行将其分配给 10 时,您的值 10被写入x指向的内存位置。
我认为对于原始类型,变量是实际值的内存地址;至于复杂类型,变量只是指向实际值的指针的内存地址。但是上面引用的答案告诉我我错了。它说“x 指向的内存位置”。
那么如果 x 指向一个存储实际值的内存地址,那么原始类型与复杂类型有何不同?我不知道原始类型甚至有指针。指针如何与原始类型一起工作?
【问题讨论】:
-
不是引用到内存位置吗?
-
@KickButtowski 对于复杂类型,是的。我没有得到的是 x 指向的东西,这是一个原始类型。
-
当你说指向时,它让我想起了 c 和 c++ 中的指针,而我们在 Java 中没有这样的东西。
-
我认为你应该看看 reference 和 pointer 之间的区别。谷歌它
-
@KickButtowski 谢谢!我将尝试浏览所有 C++ 参考和指针材料,并寻找 Java 特定的东西。
标签: java pointers primitive-types