指针如何与Java中的原始类型一起使用?

埃弗洛尔

我正在阅读什么是NullPointerException,该如何解决?,在接受的答案中,我读到了一些不太明白的内容:

int x;
x = 10;

在此示例中,变量x是一个int,Java会为您将其初始化为0。在第二行中将其分配给10时,会将值10写入x指向的存储位置。

我认为对于原始类型,变量是实际值的内存地址;对于复杂类型,变量只是指向实际值的指针的内存地址。但是上面引用的答案告诉我我错了。它说“ x指向的内存位置”。

因此,如果x指向存储实际值的内存地址,则原始类型与复杂类型有何不同?我不知道原始类型甚至没有指针。指针如何与基本类型一起使用?

矩阵异常

基本类型和复杂类型的不同之处主要在于数据的存储方式。您实际上正在查看原始类型和类类型之间的差异

1.每个变量都作为一个位置存储在计算机内存中。

上面的语句适用于基本类型和类类型。

区别:

2.对于原始类型:变量的值存储在分配给该变量的存储位置中

这意味着,如果我们分配了int x = 10,则将的值x存储在存储的值的10位置,即存储位置。这意味着当我们“看” x时,“ 10”存储在此处。也许将其更像是一个“赋值”,可以让您命令x等于10。

3.对于类型:它仅存储的存储器地址的对象的是存储的值。它不直接保存对象本身。

整数x = 10将具有指向类型为int的对象的内存地址,该地址将保持值为10。这称为引用可以将其视为一个目录,该目录告诉您转到实际检索值的架子。

类类型也称为引用类型或对象类型,即它们都表示一个类的对象(可以是Integer类或MyPerson类)。

基本类型不是引用类型,因为它们不保存引用(内存地址)。

这种区别是日常使用“包装器类”的原因,并且诸如之类的类型Integer被视为的包装器类int,以允许进行数据操作,例如将整数存储在诸如ArrayList的数据结构中。由于ints原始数据类型不是objectInteger而是。由于基本类型不是对象,因此必须将它们放入类中才能将它们添加到列表,字典等中。这样,我们就有了对象列表(指向原始类型),但它们不是对象。裸原始数据类型本身。有关更多信息,请参见此SO问题

此处详细介绍了有关原始类型和非原始类型(aka类/引用/对象类型)的区别的其他阅读他们也有一个很好的图表来说明这一点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Sequelizejs:如何与原始查询一起使用事务

来自分类Dev

hashCode如何与Java中的HashMap一起使用

来自分类Dev

memcpy如何与void指针一起使用?

来自分类Dev

如何使TLS与Java一起使用?

来自分类Dev

如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

来自分类Dev

如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

来自分类Dev

仅将指针中的选定部分与另一个指针一起使用

来自分类Dev

Java:如何将 Arrays.copyOfRange() 与泛型类型一起使用?

来自分类Dev

将Streams与原始数据类型和相应的包装一起使用

来自分类Dev

减少将原始类型与泛型一起使用时减少潜在的垃圾浪费吗?

来自分类Dev

如何将QSort与QList中的自定义类型一起使用?

来自分类Dev

如何使useRouteMatch与React-Router中的类型一起使用

来自分类Dev

如何使类型类与Scala中的异构列表一起使用

来自分类Dev

Java:将TreeSet与类类型1一起使用

来自分类Dev

幻像类型如何与newtype一起使用?

来自分类Dev

如何使模板类型推导与引用一起使用?

来自分类Dev

.getClass()。getName()方法如何与int类型一起使用?

来自分类Dev

如何注册将与值类型一起使用的DependencyProperty

来自分类Dev

如何使模板类型推导与引用一起使用?

来自分类Dev

类型推断如何与可选参数一起使用?

来自分类Dev

将GetFieldValueAsync与GetFieldType中的类型一起使用

来自分类Dev

如何使用bluebird将原始数据与Promise.map的响应一起传递?

来自分类Dev

如何使scalaz.Tagged与类class原始属性一起使用?

来自分类Dev

如何使scalaz.Tagged与类class原始属性一起使用?

来自分类Dev

将原始函数与存储在Microsoft KSP中的键一起使用

来自分类Dev

将原始函数与存储在Microsoft KSP中的键一起使用

来自分类Dev

与对象类型一起使用

来自分类Dev

与MKL一起使用的数组类型

来自分类Dev

如何在Java中与Scanner.useDelimiter一起使用定界符?

Related 相关文章

  1. 1

    Sequelizejs:如何与原始查询一起使用事务

  2. 2

    hashCode如何与Java中的HashMap一起使用

  3. 3

    memcpy如何与void指针一起使用?

  4. 4

    如何使TLS与Java一起使用?

  5. 5

    如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

  6. 6

    如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

  7. 7

    仅将指针中的选定部分与另一个指针一起使用

  8. 8

    Java:如何将 Arrays.copyOfRange() 与泛型类型一起使用?

  9. 9

    将Streams与原始数据类型和相应的包装一起使用

  10. 10

    减少将原始类型与泛型一起使用时减少潜在的垃圾浪费吗?

  11. 11

    如何将QSort与QList中的自定义类型一起使用?

  12. 12

    如何使useRouteMatch与React-Router中的类型一起使用

  13. 13

    如何使类型类与Scala中的异构列表一起使用

  14. 14

    Java:将TreeSet与类类型1一起使用

  15. 15

    幻像类型如何与newtype一起使用?

  16. 16

    如何使模板类型推导与引用一起使用?

  17. 17

    .getClass()。getName()方法如何与int类型一起使用?

  18. 18

    如何注册将与值类型一起使用的DependencyProperty

  19. 19

    如何使模板类型推导与引用一起使用?

  20. 20

    类型推断如何与可选参数一起使用?

  21. 21

    将GetFieldValueAsync与GetFieldType中的类型一起使用

  22. 22

    如何使用bluebird将原始数据与Promise.map的响应一起传递?

  23. 23

    如何使scalaz.Tagged与类class原始属性一起使用?

  24. 24

    如何使scalaz.Tagged与类class原始属性一起使用?

  25. 25

    将原始函数与存储在Microsoft KSP中的键一起使用

  26. 26

    将原始函数与存储在Microsoft KSP中的键一起使用

  27. 27

    与对象类型一起使用

  28. 28

    与MKL一起使用的数组类型

  29. 29

    如何在Java中与Scanner.useDelimiter一起使用定界符?

热门标签

归档