Dans Android API http://developer.Android.com/guide/topics/data/data-storage.html#pref
Ça dit:
La préférence partagée vous permet d'enregistrer et de récupérer des paires clé-valeur persistantes de types de données primitifs. Vous pouvez utiliser SharedPreferences pour enregistrer toutes les données primitives: booléens, flottants, entiers, longs et chaînes.
La chaîne est-elle un type de données primitif ou un objet?
En ce qui concerne le langage de programmation Java
,
Un type primitif est prédéfini par la langue et est nommé par un mot clé réservé.
En plus des huit types de données primitifs répertoriés ci-dessus, le langage de programmation Java fournit également un support spécial pour les chaînes de caractères via le
Java.lang.String
classe.
—— de Les tutoriels Java ™ - Types de données primitifs
Donc, en tant que tel dans les livres Java
, ce n'est pas un mot-clé et pas une primitive non plus. SharedPreferences
peut toujours l'appeler l'une des primitives, mais ce n'est pas du livre de Java
en tant que tel, cela pourrait être parce que c'est l'un des types de base comme int, float, char, etc. nous rencontrons.
Directement de JLS:
A string literal is a reference to an instance of class String
Donc non c'est pas une primitive.
Lorsque vous utilisez Android SharedPreferences, vous utiliserez getString et putString (avec SharedPreferences.Editor), auquel cas les deux sont Java String Objects. The Java explique qu'une chaîne n'est pas techniquement une primitive, mais parce qu'elle est souvent traitée comme une syntaxe et sa prévalence, elle peut parfois être appelée une primitive. Android utilise probablement cette définition (voir http://docs.Oracle.com/javase/tutorial/Java/nutsandbolts/datatypes.html )
La chaîne est un objet, dans Android ou Java il n'est pas un type primitif du tout. Vous pouvez utiliser des chaînes pour stocker dans SharedPreferences.
Les chaînes sont des objets de la classe String (Java.lang.String). Dans d'autres langages de programmation, la chaîne, comme vous le savez, n'était pas fournie par le langage, l'utilisateur devait utiliser un tableau de caractères pour représenter la chaîne. C'est pourquoi une chaîne n'est pas un type de données primitif, c'est plutôt une myriade d'attributs (longueur int, char [position], etc.).
En raison de l'importance de la chaîne, les créateurs de Java ont permis à une chaîne d'être simplement créée par String message = ḦEllo World;
Rien de mal à cela, beaucoup de gens font des objets de (instanciez) la chaîne classe de cette façon ... Cependant, vous pouvez également dire ... char[] arr = {'a','b','c'};
String myString = new String(arr);
C'est la même chose que String myString = ¨abc¨;
C'est parce que comme mentionné ci-dessus, une chaîne n'est qu'une série Il y a, à l'intérieur de la classe String, un constructeur (ce qui suit le nouveau mot-clé et correspond au nom de la classe) qui accepte comme paramètre un tableau de caractères.
Réponse courte: String est un classe pas un type de données primitif, Lorsque vous créez un objet String, vous instanciez la classe String
La chaîne est un objet, bien qu'il puisse être utilisé dans SharedPreferences. La chaîne est également stockée en tant que paire de valeurs clés