Shared Preference允许您保存和检索原始数据类型的持久键值对。 您可以使用SharedPreferences保存任何基本数据类型:布尔值,浮点数,整数,长整数和字符串。
String是原始数据类型还是对象?
就Java
编程语言而言,原始类型是由语言预定义并由保留关键字命名的。
除了上述八种原始数据类型之外,Java编程语言还通过java.lang.String
类提供了对字符字符串的特殊支持。
——摘自Java™教程 - 原始数据类型
因此,在Java
书籍中,它既不是关键字也不是原始类型。虽然SharedPreferences
可能仍将其称为原始类型之一,但这并不是来自Java
本身的书籍,这可能是因为它是我们遇到的基本类型集合(例如int、float、char等)之一。
来自JLS官方文档:
A string literal is a reference to an instance of class String
所以它 不是 原始的。
当使用Android SharedPreferences时,您将使用getString和putString(使用SharedPreferences.Editor)的方式,在这种情况下两者都是Java字符串对象。 Java文档解释说,字符串不是技术上的原始数据类型,但由于它在语法上经常被视为一个原始数据类型并且它的普遍性,有时可能被称为原始数据类型。 Android可能使用此定义(请参见http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html)
Java
中只有八种原始类型。 - Swapnil字符串是一个对象,在安卓或者Java中,它并不是原始类型。你可以使用字符串将数据存储在SharedPreferences中。
字符串是String类(java.lang.String)的对象。在其他编程语言中,字符串并不是通过语言提供的,用户必须使用字符数组来表示字符串。这就是为什么字符串不是原始数据类型,而是一系列属性(int长度,char[position]等)。
由于字符串的重要性,Java的创建者允许一个字符串简单地被创建为String message = Ḧello World;
没有任何问题,很多人都用这种方式实例化String类的对象... 但是你也可以这样说... char[] arr = {'a','b','c'};
String myString = new String(arr);
这与String myString = ¨abc¨;
相同。这是因为如前所述,字符串只是一系列字符。在String类中,有一个构造函数(跟随new关键字并匹配类名的东西),它接受字符数组作为参数。
简短回答:String是一个类,而不是原始数据类型。当创建一个字符串对象时,你正在实例化String类。
String是一个对象,尽管它可以在SharedPreferences中使用。String也被存储为键值对。
int
、float
、double
、bool
。 - Dmitry Zagorulkin