Является ли String примитивным или Object в Android или Java?

В Android API http://developer.android.com/guide/topics/data/data-storage.html#pref

В нем говорится:

Общие предпочтения позволяют сохранять и извлекать постоянные пары ключ-значение примитивных типов данных. Вы можете использовать SharedPreferences для сохранения любых примитивных данных: booleans, floats, ints, longs и strings.

Является ли String примитивным типом данных или объектом?

Ответ 1

Что касается языка программирования Java,

Примитивный тип предопределен языком и назван зарезервированным ключевым словом.

В дополнение к восьми примитивным типам данных, перечисленным выше, язык программирования Java также обеспечивает специальную поддержку символьных строк через класс java.lang.String.

Таким образом, как таковой в Java книгах, это не ключевое слово, а не примитив. SharedPreferences все еще может назвать его одним из примитивов, но это не из книги Java как таковой, это может быть потому, что это один из множества базовых типов, таких как int, float, char и т.д., С которыми мы сталкиваемся.

Ответ 2

Прямо от JLS:

A string literal is a reference to an instance of class String

Так что нет, это не примитив.

Ответ 3

При использовании Android SharedPreferences вы будете использовать getString и putString (с SharedPreferences.Editor), в этом случае оба являются объектами Java String. Документация Java объясняет, что String не является технически примитивной, но потому, что ее часто трактуют как синтаксически, а ее распространенность иногда называют примитивным. Android, вероятно, использует это определение (см. Http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html)

Ответ 4

String - это объект, в андроиде или java он не является примитивным типом. вы можете использовать строки для хранения в SharedPreferences.

Ответ 5

String - объект, хотя его можно использовать в SharedPreferences. Строка также сохраняется как пара значений ключа

Ответ 6

Строки - это объекты класса String (java.lang.String). В других языках программирования строка, как вам известно, не предоставлялась через язык, пользователю пришлось использовать массив символов для представления String. Вот почему String не является примитивным типом данных, а представляет собой множество атрибутов (int length, char [position] и т.д.).

Из-за важности String создатели Java разрешили String просто создавать String message = Ḧello World; В этом нет ничего плохого, многие люди создают объекты (экземпляр) класса String таким образом... Однако вы также можете сказать... char[] arr = {'a','b','c'}; String myString = new String(arr); То же самое, что и String myString = ¨abc¨; Это связано с тем, что, как указано выше, строка представляет собой только ряд символов. Внутри класса String есть конструктор (то, что следует за новым ключевым словом и совпадает с именем класса), которое принимает в качестве параметра массив массивов.

Короткий ответ: String - это класс не примитивный тип данных. При создании объекта String вы создаете экземпляр класса String