Почему тип Java " String "написан заглавной буквой, А" int " - нет?
мне любопытно. Почему я должен печатать String myStr
с большой буквы, тогда как я набираю int aNumba
со строчной буквы?
10 ответов
, потому что int
является примитивным типом, а не классом, поэтому он напрямую не сопоставим с String
. Соответствующий тип класса -Integer
, прописана по класс именования.
аналогичные пары типов примитива и класса являются
сама строка является классом, производным от Object, в то время как int является примитивом.
ваша путаница, вероятно, связана с тем, что строка ведет себя во многих отношениях как примитив, так что у нее есть основные операции, которые могут быть применены к ней, например (+) конкатенация, и что ее не нужно импортировать.
конкатенация потому, что она достаточно фундаментальна, чтобы применить эту добавленную операцию, даже если это тип объекта.
в причина, по которой его не нужно импортировать, по умолчанию java.lang
импортируется пакет, членом которого является строка.
Я тоже присоединюсь к партии:это все условности.
и слава-богу:
class billybobstype {
...
}
(это все условности. Нет причин, почему "String"не мог были "строкой"; однако " int " является ключевое слово и больше, чем просто имя класса, из которого CamelCase является соглашением но не требование -- поэтому потребуется модификация компилятора: -)
Edit: в стороне, C# имеет ключевое слово "string" (часть грамматики языка), которое является псевдоним для системы.Класс String. (C# также реализует 'int', 'long' и т. д. как псевдонимы таким образом, но он может сделать это, потому что он имеет расширяемую систему "типа значения", тогда как JVM только рассматривает/разрешает-для небольшого дискретного набора "типов значений".)
, потому что String
является классом (т. е. объектом) и int
не
посмотреть соглашения об именах в Java для получения дополнительной информации.
по соглашению объекты java имеют заглавные имена первых букв (например, String), в то время как примитивы имеют имена в нижнем регистре (например, int, float, double и т. д.)
основные низкоуровневые типы вроде byte
или integer
именуются в нижнем регистре, а объекты/классы высокого уровня - в верхнем регистре (CamelCase). Именно так была разработана Java.
Я не могу поверить некоторым ответам на этот вопрос!! Ответ не относится к конвенции, и если вы думаете, что это ответ, вам нужно еще немного изучить. int-примитивный тип, А String-класс (см. ответ Питера).
важным предостережением примитива против комплекса является автобоксинг:
http://download.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html
вот учебник Java для примитивы:
http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
класс string также является частным случаем:
http://www.javabeginner.com/learn-java/java-string-class
читать людей!