Java 和 C# 中的 int 和 Integer 有什么区别?
当我读到更多关于软件的Joel Joel时,我遇到了Joel Spolsky说了一些关于Java / C#(面向对象编程语言)中an和an之间的区别的特定类型的程序员的话。int
Integer
那么,有什么区别呢?
当我读到更多关于软件的Joel Joel时,我遇到了Joel Spolsky说了一些关于Java / C#(面向对象编程语言)中an和an之间的区别的特定类型的程序员的话。int
Integer
那么,有什么区别呢?
好吧,在Java中,int是基元,而整数是对象。意思是,如果你做了一个新的整数:
Integer i = new Integer(6);
你可以在 i 上调用一些方法:
String s = i.toString();//sets s the string representation of i
而对于 int:
int i = 6;
您不能对它调用任何方法,因为它只是一个基元。所以:
String s = i.toString();//will not work!!!
会产生错误,因为 int 不是对象。
int 是 Java 中为数不多的基元之一(以及 char 和其他一些基元)。我不是100%确定,但我认为Integer对象或多或少只是有一个int属性和一大堆与该属互的方法(例如toString()方法)。因此,Integer 是一种使用 int 的奇特方式(就像 String 是使用一组字符的奇特方式一样)。
我知道Java不是C,但是由于我从未用C编程过,这是我能找到的最接近答案的。希望这有帮助!