我很好奇。为什么我必须用大写字母键入String myStr
,而我用小写字母键入int aNumba
?
答案 0 :(得分:45)
因为int
是基本类型,而不是类,因此它不能与String
直接比较。相应的班级类型为Integer
,根据班级naming conventions拼写。
类似的基元和类类型对
答案 1 :(得分:8)
String本身是一个派生自Object的类,而int是一个原语。
你的困惑可能来自这样一个事实,即String在许多方面表现得像一个原语,因为它具有可以应用于它的基本操作,如(+)连接,并且它不需要导入。
连接是因为即使它是对象类型,也应用这个添加的操作是足够的基础。
不需要导入它的原因是,默认导入java.lang
包,其中String是成员。
答案 2 :(得分:3)
我也会参加派对:这都是惯例。
谢天谢地:
class billybobstype {
...
}
(这都是惯例。没有理由“String”不能成为“字符串”;但是,“int”是关键字并且超过只是一个类名 - 其中CamelCase是约定但不是要求 - 所以它需要编译器修改: - )
编辑:顺便说一下,C#有'string'关键字(语言语法的一部分),它是'System.String'类的别名。 (C#也以这种方式实现'int','long'等等,但它可以这样做,因为它有一个可扩展的“值类型”系统,而JVM只考虑/允许 - 一个小的谨慎的“值类型“。)
答案 3 :(得分:2)
int
是原始数据类型,String
派生自Object
并且是一个类。
答案 4 :(得分:1)
因为String
是一个类(即一个对象)而int
不是
有关更多信息,请参阅Java naming conventions。
答案 5 :(得分:0)
因为int是基本类型而String是对象类型
答案 6 :(得分:0)
按照惯例,java对象具有大写的第一个字母名称(例如String),而基元具有小写名称(例如int,float,double等)
答案 7 :(得分:0)
byte
或integer
等基本低级类型以小写形式命名,高级对象/类以大写形式命名(CamelCase)。这就是Java的设计方式。
答案 8 :(得分:0)
这只是原始Java设计师强加给我们的东西: - )
答案 9 :(得分:-1)
我无法相信这个问题的一些答案!!答案与惯例无关,如果你认为这是你需要做更多学习的答案。 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
读人!