字符串的比较相关方法
== 是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法。
public boolean equals(Object obj);参数是任何对象,只有参数是一个字符串并且内容相同的才会给true,否则返回false。
注意事项:
1,任何对象都能用Object进行接收
2,equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果都一样。
也就是下面程序拿str1和str2比较,和拿str2和str1比较效果一样
3,如果比较双方一个常量一个变量,推荐把常量字符串写在前面。
推荐:“abc”.equals(str) 不推荐 str.equals(“abc”);
public boolean equalsIgnoreCase(String str):忽略大小写,进行内容的比较。
public class Demo01StringEquals {
public static void main(String[] args){
String str1 = "Hello";
String str2 = "Hello";
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str3 = new String(charArray);
System.out.println(str1.equals(str2));//true
System.out.println(str2.equals(str3));//true
System.out.println(str3.equals("Hello"));//true
System.out.println("Hello".equals(str1));//true直接拿者字符串Hello
//可以点出一个方法,
String str4 = "hello";//第一个字母一个大写一个小写肯定是不一样,
//所以打印输出结果是false
System.out.println(str1.equals(str4));//false
String str5 = "abc";
System.out.println("abc".equals(str5));//推荐写法
System.out.println(str5.equals("abc"));//不推荐写法
String str6 = null;
System.out.println("abc".equals(str6));//false 只是在调用方法的时候,
// System.out.println(str6.equals("abc"));//点之前是null,那么就会出
//空指针异常NullPointerException]
System.out.println("======================");
String strA = "Java";
String strB = "java";
System.out.println(strA.equals(strB));//false 严格区分大小写
System.out.println(strA.equalsIgnoreCase(strB));//tuer, 忽略大小写
//只有英文字母区分大小写,其他都不区分大小写
System.out.println("abc一123".equalsIgnoreCase("abc壹123"));//false
}
}
字符串获取的相关方法:
tring 当中与获取相关的常用方法有:
public int length(); 获取字符串当中含有的字符个数,也就是拿到字符串的长度。
public String concat(String str):将当前的字符串和参数字符串拼接成为返回值新的字符串。(拼接字符串)
public char charAt(int index),获取指定索引位置的单个字符。(索引 从0开始)
public int indexof(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有:返回值-1值
public class Demo02StringGet {
public static void main(String[]args){
int length = "bjkcnjiwjfncz".length();
//获取字符串的长度
System.out.println("字符串的长度是:" + length);//11
//拼接字符串
String str1 = "Hello";
String str2 = "World";
String str3 = str1.concat(str2);
System.out.println(str1);//Hello,原封不动
System.out.println(str2);//World,原封不动
System.out.println(str3);//HeloWorld,新的字符串
//字符串是常量,每当你想进行拼接,截取,好像内容都需要发生改变,
//那必然是创建一个新的字符串。这个是万年的真理,一定不会变
System.out.println("==============");
//获取指定索引位置的单个字符
char ch = "Hello".charAt(1);//获取Hello单个字符,索引[都是从0开始]
//位置是1,那么创建一个接收,然后直接打印
System.out.println("在1号索引位置的字符是:" + ch);//e
System.out.println("==============");
//查找参数字符串在本来字符串当中出现的第一次索引位置
//如果根本没有,返回值 就是-1值,
String original = "HelloWorld";
int index = original.indexOf("llo");
System.out.println("第一次索引值是:" + index);//2
System.out.println("HelloWorld".indexOf("abc"));//那么就是 -1
}
}