原始数据类型包括byte、int、char、long、float、double、boolean和short,对应的封装类booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
。引用类型和原始类型的行为完全不同,并且它们具有不同的语义。原始数据类型保存在栈中,保存的是实际值;引用类型也保存在栈中,保存的是一个实际对象的地址。它们占用空间大小和存取速度不同;当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为
null,而原始类型实例变量的缺省值与它们的类型有关
字符串是引用型变量,而基本数据类型是数值变量,
引用型变量就像c语言里面的指针存放的是该字符串的地址。计算机存储的数据都有一个编号就是地址。字符串就是存放的地址;
比如有两个数值型的数据判断是否相等,直接用‘==’就行了,
但是引用变量就不一样了。比如string
s1="123";假设这个字符串在计算机的地址&s1=oxffa00fff;
string
s2="123";
假设这个字符串在计算机的地址是&s2=oxffa000f0;
如果你像这样比较
s1==s2
返回的是false;因为你这样比较就是他们地址的比较
oxffa00fff=oxffa000f0
?
明显不等,这时就要调用java中字符串的方法equals();
s1.equals(s2)
返回true