为什么Java“String”类型用大写字母写,而“int”不是?

我好奇。 为什么我必须用大写字母键入String myStr而我用小写字母键入int aNumba

因为int是基本类型,而不是类,因此它不能直接与String相比。 相应的类类型是Integer ,根据类命名约定拼写。

类似的原始和类类型对

  • byteByte
  • shortShort
  • longLong
  • float vs Float
  • doubleDouble
  • booleanBoolean
  • char vs Character

String本身是一个派生自Object的类,而int是一个原语。

您的困惑可能来自于String在许多方面表现得像基元这样的事实,因为它具有可应用于它的基本操作,如(+)连接,并且不需要导入。

连接是因为即使它是对象类型,也应用这个添加的操作是足够的基础。

它不需要导入的原因是,默认情况下导入java.lang包,其中String是成员。

我也加入了这个聚会: 这都是惯例

谢天谢地:

 class billybobstype { ... } 

(这都是惯例。没有理由为什么“String” 不能是“字符串”;但是,“int”是一个关键字而不仅仅是一个类名 – 其中CamelCase是惯例但不是要求 -所以它需要编译器修改:-)

编辑:顺便说一下,C#有’string’关键字(语言语法的一部分),它是’System.String’类的别名 。 (C#也以这种方式实现’int’,’long’等等作为别名,但它可以这样做,因为它有一个可扩展的“值类型”系统,而JVM只考虑/允许 – 一个小的谨慎的“值类型“。)

int是原始数据类型, String派生自Object并且是一个类。

因为String是一个类(即一个对象)而int不是

有关更多信息,请参阅Java命名约定 。

因为int是基本类型,而String是对象类型

按照惯例,java对象具有大写的第一个字母名称(例如String),而基元具有小写名称(例如int,float,double等)。

byteinteger等基本低级类型以小写forms命名,高级对象/类以大写forms命名(CamelCase)。 这就是Java的设计方式。

这只是原始Java设计师强加给我们的东西:-)

我简直不敢相信这个问题的一些答案!! 答案与惯例无关,如果你认为这是你需要做更多学习的答案。 int是一种原始类型,而String是一个类(参见Peter的答案)。

原始与复杂的一个重要警告是自动装箱:

http://download.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html

这是基元的Java教程:

http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

字符串类也是一个特例:

http://www.javabeginner.com/learn-java/java-string-class

读人!