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

Tow*_*wer 22 java naming-conventions

我好奇.为什么我必须输入String myStr大写字母而我输入int aNumba小写字母?

Pét*_*rök 45

因为int是原始类型,而不是类,因此它不能直接比较String.Integer根据类命名约定拼写相应的类类型.

类似的原始类和类类型对

  • @rFactor是的.想象一下,你想要一个int列表.不能使用标准Java API - 因为原语不是Object的子类型,因此不适用于泛型,但是您可以获得ArrayList <Integer>.Java(1.5+?)进行一些自动装箱以使其更易于使用. (4认同)
  • 我认为还有必要注意,很容易将String混淆为原始类型,因为它实际上是一个MAGIC类.这给了它一些属性(比如有文字),否则只有原始类型. (3认同)
  • 是否有理由在其对应的原语上使用类x? (2认同)

Cod*_*nci 8

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

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

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

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

  • 为了公平对待Java,如果你必须导入java.lang.String或者必须像新的String("myString").append("concat").append("concat")那样进行连接,那么它会更多乏味.通过使它成为一个对象,它打开了对它执行方法调用的能力,比如charAt,indexOf等,我们认为理所当然,但可能无法做到.我必须同意Java开发人员才能做到这一点. (3认同)