Почему Java "String" пишется заглавными буквами, а "int" - нет? - PullRequest
22 голосов
/ 24 октября 2010

Мне любопытно. Почему я должен печатать String myStr с заглавной буквы, тогда как я набираю int aNumba с заглавной буквы?

Ответы [ 10 ]

45 голосов
/ 24 октября 2010

Поскольку int является примитивным типом, а не классом, то есть он не сопоставим напрямую с String.Соответствующий тип класса Integer, пишется в соответствии с классом соглашения об именах .

Подобные пары типов примитивов и классов

8 голосов
/ 24 октября 2010

String сама по себе является классом, производным от Object, а int - примитивом.

Вероятно, ваше заблуждение связано с тем, что String ведет себя во многом подобно примитиву, так что он имеет базовые операции, которые могутприменяется к нему, как (+) конкатенация, и что его не нужно импортировать.

Конкатенация состоит в том, что она достаточно фундаментальна для применения этой добавленной операции, даже если это тип объекта.

Причина, по которой ее не нужно импортировать, по умолчанию java.lang импортируется пакет, членом которого является строка.

3 голосов
/ 24 октября 2010

Я тоже присоединюсь к вечеринке: Это все условно .

И слава Богу:

class billybobstype {
    ...
}

(Все условно. Нет причинпочему «String» не может быть «строкой», однако «int» - это ключевое слово и больше, чем просто имя класса, из которых CamelCase является соглашением но не обязательное требование - поэтому потребуется модификация компилятора: -)

Редактировать: Кроме того, C # имеет ключевое слово 'string' (часть языковой грамматики)), который является псевдонимом для класса System.String.(C # также реализует int, long и т. Д. Как псевдонимы таким образом, но он может сделать это, потому что у него есть расширяемая система «тип значения», тогда как JVM рассматривает / разрешает только для небольшого дискретного набора «типы значений ".)

2 голосов
/ 24 октября 2010

int - это примитивный тип данных, String является производным от Object и является классом.

1 голос
/ 24 октября 2010

Поскольку String является классом (т.е. объектом), а int не является

, см. Соглашения об именах Java для получения дополнительной информации.

0 голосов
/ 24 октября 2010

Я не могу поверить, некоторые ответы на этот вопрос! Ответ не имеет отношения к соглашению, и если вы думаете, что это ответ, вам нужно еще немного изучить. 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

Читайте людей!

0 голосов
/ 24 октября 2010

Это то, что нам навязали оригинальные дизайнеры Java: -)

0 голосов
/ 24 октября 2010

Базовые низкоуровневые типы, такие как byte или integer, именуются строчными буквами, а высокоуровневые объекты / классы - прописными (CamelCase) Именно так был разработан Java.

0 голосов
/ 24 октября 2010

По соглашению, Java-объекты имеют заглавные имена из первых букв (например, String), в то время как примитивы имеют имена в нижнем регистре (например, int, float, double и т.д.).

0 голосов
/ 24 октября 2010

, потому что int является примитивным типом, тогда как String является типом объекта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...