子串
1.String类的substring()方法可以从一个比较大的子串中提取一个字符串:
String a = "Hello World";
String s = a.substring(0,7);
System.out.println(s);
输出结果为:“Hello W“;
substring方法的第二个参数可以不写,如果不写,就是截取到字符串尾部
Null串和空串
空串是一个Java对象,有自己的串长度(О)和内容(空)。不过,String变量还可以存放一个特殊的值,名为 null,这表示目前没有任何对象与该变量关联,要检查一个字符串是否为nl要使用以下条件:
String a = "";
System.out.println(a.length());
输出结果为:0
String a = null;
System.out.println(a.length());
输出结果为:报错
==和equals的区别
引用类型和基本类型的区别
基本类型的 == 比的是双方的值是否相等
int a = 10;
int b = 10;
System.out.println(a==b);
输出结果为:true;
应用类型的 == 比的是 双方的内存地址是否相同
String a = new String("123");
String b = new String("123");
System.out.println(a==b);
输出结果为:false;
如何让上一个代码块相等呢?
String a = new String("123");
String b = a;
System.out.println(a==b);
输出结果为:true;
String a = new String("456");
String b = new String("456");
System.out.println(a.equals(b));
输出结果为:true
思考为什么==和equals输出的结果不同?
原因就是equals这个是先去比较他们的地址是否相同,如果相同的话,就直接true,如果地址不同的话就去判断他是否是String类型,长度是否相同,里面的内容是否相同,如果满足的话的就返回true。
String常见的一些方法
1.判断String的长度length()
String a = "123456";
int length - a.length();
System.out.println(length);
2.用charAt()获取String当中的指定的值
String a = new String("123456");
char b = a.charAt(0);
System.out.println(b);
3.contains() 判断是否包含目标串
if(s1.contains("a")){
System.out.println("包含a子串");
}else{
System.out.println("不包含a子串");
}