一尘不染

Java和C#中的int和Integer有什么区别?

c#

当我遇到Joel Spolsky时,我读的是《
更多关于软件的
Joel》,
他说了一种有关特定类型的程序员的一些知识,他们知道Java
/ C#(面向对象编程语言)中an int和an 之间的区别Integer

那么区别是什么呢?


阅读 391

收藏
2020-05-19

共1个答案

一尘不染

在Java中, “ int”类型是基元,而“ Integer”类型是对象。

在C#中, “ int”类型System.Int32值类型相同,并且是值类型(即更像Java的“
int”类型)。可以将整数(就像其他任何值类型一样)装箱(“包装”)到对象中。


对象和基元之间的差异在一定程度上超出了此问题的范围,但可以总结一下:

对象
为多态提供了便利,通过引用传递(或更准确地说,通过值传递引用),并从堆中分配对象。相反,
基元 是不可变的类型,它们按值传递,并且通常是从堆栈分配的。

2020-05-19