文章目录
一、字符串的介绍及视频讲解
- 字符串是常量,表示方法:用双引号""引起来
- 字符串的值在创建之后就不能修改,每当你觉得字符串发生了变化那就是创建了新的字符串
二、字符串的两种创建方式
方法一:通过new创建
String str = new String("abcd");
方法二:直接创建
String str1 = ("abcd");
三、字符串的长度获取:length()方法
String str1 = ("abcd");
int length = str1.length();
System.out.println("abcd的长度为:"+length);//4
四、使用 == 和equals()方法比较两个字符串
1. 用 == 比较两个字符串(由此分析字符串的两种创建方式的不同)
对于引用类型来说,== 进行的是地址值的比较
String str = new String("abcd");//第一种创建方式:通过new创建
String str1 = new String("abcd");//第一种创建方式:通过new创建
String stra = "abcd";//第二种创建方式:直接创建
String strb = "abcd";//第二种创建方式:直接创建
System.out.println(str == str1);//new出的两个字符串对象之间比较,false
System.out.println(str == stra);//new出的字符串对象与直接创建的字符串对象之间比较,false
System.out.println(stra == strb);//直接创建的两个字符串对象之间比较,true
(1)对于用new方式创建出的两个字符串之间比较
从System.out.println(str == str1);//new出的两个字符串对象之间比较,false
的代码运行结果我们可以看出:
String str = new String("abcd");//第一种创建方式:通过new创建
String str1 = new String("abcd");//第一种创建方式:通过new创建
- 通过new创建出的str和str1字符串对象虽内容相同
- 但由于是new出的是两个不同的对象所以它们的地址值必然不同
对于引用类型来说 == 比较的是地址值
- 所以运行结果就为false
(2)对于直接创建出的两个字符串之间比较
从System.out.println(stra == strb);//直接创建的两个字符串对象之间比较,true
的代码运行结果我们可以看出:
String stra = "abcd";//第二种创建方式:直接创建
String strb = "abcd";