字符串
什么是字符串
字符串即用双引号引住的多个字符。
字符串与字符是什么关系
字符串就是字符的数组
字符串分类
字面量和字符串对象
字面量:
直接用双引号引住的字符串。
字面量是存储在元空间当中的,每当创建一个新的字面量JVM则会在元空间中查找是否有相同的字面量,如果有就返回相同字面量的引用,如果没有则在元空间中创建。
字符串对象:
通过new实例化出来的对象
演示代码:
String a1="aa";//字面量
String a2=new String();
a2="aa";//同样属于字面量
String a3=new String("aa");//字符串对象
String a4=new String("aa");//字符串对象
System.out.println(a1==a2);//都是字面量,当元空间中有相同的字符串时就会返回该字符串的引用,所以a1指向的地址等于a2指向的地址。返回true
System.out.println(a1==a3);//一个是指向的是对象一个是指向的字面量,返回false
System.out.println(a2==a3);//同理返回false
System.out.println(a4==a3);//是两个不同的对象,故地址不相同返回false
包装类
什么是包装类
java是c++语言演变而来,并保留了八种基本数据类型(boolean,byte,char,short,int,float,double,long)而java是面对对象的语言,所以就需要将基本数据类型包装成具有对象特征,而包装起来的基本数据类型就叫包装类型。
包装类型
特殊:
int 包装类=Iteger
char 包装类=Character
其他的包装类则只需要将首字母大写其余不变。
基本类型和包装类型的区别(拿Integer和Int举例)
1.Integer需要实例化后才能使用而Int不用。
2.Integer是int的包装类,而int是java的八种基本数据类型之一。
3.Integer是对象默认初始值为null,而int默认初始值为0
4.Integer是一个对象的引用,new实例时实际上是创建一个指针指向对象,而int则直接存储数值。