What is the difference between an int and an Integer in Java and C#?

前端 未结 26 1474
生来不讨喜
生来不讨喜 2020-11-22 12:00

I was reading More Joel on Software when I came across Joel Spolsky saying something about a particular type of programmer knowing the difference between an i

26条回答
  •  清酒与你
    2020-11-22 12:31

    In Java, the 'int' type is a primitive, whereas the 'Integer' type is an object.

    In C#, the 'int' type is the same as System.Int32 and is a value type (ie more like the java 'int'). An integer (just like any other value types) can be boxed ("wrapped") into an object.


    The differences between objects and primitives are somewhat beyond the scope of this question, but to summarize:

    Objects provide facilities for polymorphism, are passed by reference (or more accurately have references passed by value), and are allocated from the heap. Conversely, primitives are immutable types that are passed by value and are often allocated from the stack.

提交回复
热议问题