String01
-
特点:
1.字符串的内容永不改变
2.可以共享使用 -
三种构造方法:
public String(); 创建一个空白字符,不含有任何内容
public String(char[] array); 根据字符数组的内容,来创建对应的字符串
public String(byte[] array); 根据字节数组的内容,来创建对应的字符串 -
一种直接创建:
String str=“你好”;
*/
public class String01 {
public static void main(String[] args) {
String str1 = new String();
System.out.println("第一个字符串是:"+str1);
System.out.println("---------------------------------------");
char[] ch={'a','b','c'};
String str2 = new String(ch);
System.out.println("第二个字符串是:"+str2);
System.out.println("----------------------------------------");
byte[] by={97,98,99};
String str3 = new String(by);
System.out.println("第三个字符串是:"+str3);
System.out.println("-----------------------------------------");
String str4 = "hello";
System.out.println("第四个字符串是:"+str4);
}
}
/*
-
字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。
-
对于基本类型来说,==是进行数值比较。
-
对于引用类型来说,==是进行地址值的比较。
*/
public class String02 {
public static void main(String[] args) {
String str1 = "abc";
String str2 = "abc";
char[] ch = {'a','b','c'};
String str3 = new String(ch);
System.out.println(str1==str2);
System.out.println(str1==str3);
System.out.println(str2==str3);
}
}
-
==是进行对象的地址值比较
-
public boolean equals(Object obj);
任何对象都可以用Object进行接受 -
如果比较双方一个常量一个变量,推荐把常量字符写在前面
“abc”.equals(str); -
public boolean equalsIgnoreCase(String str); 忽略大小写,进行内容比较
*/
public class String03 {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "hello";
char[] ch = {'a','b','c'};
String str3 = new String(ch);
System.out.println(str1.equals(str2));
System.out.println(str2.equals(str3));
}
}