Почему не там никакой тип примитива для Строки? [дубликат]

33
задан Joachim Sauer 15 July 2013 в 11:34
поделиться

3 ответа

String - это объект, это не примитивный тип вообще, просто массив символов. Причина, по которой примитивные типы существуют в Java вообще, представляет собой интересный, выдержка из интервью Джеймса Гослинга :

Bill Venners: Почему есть примитив Типы в Java? Почему было не все просто объект?

Джеймс Гослинг: полностью эффективность предмет. Есть все виды людей которые имеют встроенные системы, где ints и Это все объекты. Есть А. разнообразие способов сделать это, и все они имеют немного серьезных проблемы. Некоторые из них просто медленно, потому что они выделяют память для все. Некоторые из них пытаются сделать объекты, где иногда они объекты, иногда они не (которые это то, что сделала стандартная система LISP), И тогда все становится действительно странным. Это Вид работ, но это странно.

Просто делая это таким, чтобы существуют примитивные и объекты, и они просто разные. Вы решаете много проблем.

Так что в короткие сроки примитивные типы существуют по причинам эффективности.

53
ответ дан 27 November 2019 в 17:55
поделиться

int, char, float, double и т. Д. У всех есть фиксированная длина в памяти. например У INT 4 байта, таким образом, 32бит.

Но строка может иметь разную длину, это на самом деле массив CHAR.

17
ответ дан 27 November 2019 в 17:55
поделиться

Большинство языков программирования не учитывают примитив строки, потому что это на самом деле множество символов. Примитивные типы почти всегда имеют фиксированный размер.

Я должен сказать, что некоторые люди могут рассмотреть строку, чтобы быть «примитивным», потому что она встроена. Но это не примитив в том смысле, чтобы быть основным типом, в отличие от композитного типа. Поскольку строка - это массив символов, это композитный тип.

6
ответ дан 27 November 2019 в 17:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: