想了解更多请查看java学习(idea版)
目录
字符串==、equals、equalsIgnoreCase符号的用法
String类
java.lang.String 类代表字符串。类代表字符串。
字符串特点(重点)
1. 字符串的内容永不可变。【重点】
2. 正是因为字符串不可改变,所以字符串是可以共享使用的。
3. 字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。
String类构造方法
三种构造方法:
- public String():创建一个空白字符串,不含有任何内容。
- public String(char[] array):根据字符数组的内容,来创建对应的字符串。
- public String(byte[] array):根据字节数组的内容,来创建对应的字符串。
列:使用多种方式实现创建字符串
//1直接创建字符串
String str1="我是第一个字符串";
//2空参构造方法创建字符串
String str2=new String();
System.out.println("我是第二个字符串:"+str2);
//3根据字符数组内容创建字符串
char[] chars=new char[]{'a','c','d'};//等价于char[] chars={'a','c','d'};
String str3=new String(chars);
System.out.println("我是第3个字符串:"+str3);
//4根据字节数组创建字符串
byte[] bytes=new byte[]{'a','c','d'};
String str4=new String(bytes);
System.out.println("我是第4个字符串:"+str4);
结果:
字符串==、equals、equalsIgnoreCase符号的用法
== | equals | equalsIgnoreCase |
进行对象的地址值比较 | 对象内容的比较 | 对象内容比较,忽略大小写 |
public boolean equals(Object obj) | public boolean equalsIgnoreCase(String str) | |
a==b 结果:true/false | a.equals(b) | a.equals(b) |
列:字符串==符号的使用
String str1="abc";
String str2="abc";
char[] chars={'a','b','c'};
String str3=new String(chars);
System.out.println(str1==str2);//true
System.out.println(str2==str3);//false
列:练习使用equals和equalsIgnoreCase
String str1 = "Hello";
String str2 = "Hello";
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str3=new String(charArray);
System.out.println(str1==str2);//true
System.out.println(str1==str3);//false
System.out.println(str1.equals(str2));//true
System.out.println(str1.equals(str3));//true
String strA = "Java";
String strB = "java";
System.out.println(strA.equals(strB)); // false,严格区分大小写
System.out.println(strA.equalsIgnoreCase(strB)); // true,忽略大小写
String str5 = null;
System.out.println("abc".equals(str5)); // 推荐:false
// System.out.println(str5.equals("abc")); // 不推荐:报错,空指针异常NullPointerException
System.out.println("=================");