String:特殊的引用类型
字符串是常量;它们的值在创建之后不能更改。(常量是在方法区中:字符串常量池 :前提:将字符串常量直接赋值的形式 )
举例:
String str = "abc" ; ==>String str = new String("abc")
构造方法:
String() :空参构造
String(byte[] bytes):将字节数组-->String 数据
String(byte[] bytes, int offset, int length):将字节数组的一部分转换字符串
String(char[] value) :将字符数组转换成字符串
String(char[] value, int offset, int length):将字符数组的一部分转换字符串
public String(String original) :创建一个字符串对象:传递字符串常量
注: public int length(); 获取字符串长度
package org.westos.Demo7;
public class StringDemo {
public static void main(String[] args) {
String s1 = new String();// 空字符串
System.out.println(s1);
System.out.println(s1.length());
System.out.println("-------------------");
byte[] by = { 'A', 'B', 'C', 'D', 'E' };// 字节数组转换成字符串
String s2 = new String(by);
System.out.println(s2);
System.out.println(s2.length());
System.out.println("--------------------");
char[] ch = { '看', '的', '但', '大', '额' };// 字符数组转换成字符串
String s3 = new String(ch);
System.out.println(s3);
System.out.println(s3.length());
System.out.println("--------------------");
char[] ch1 = { '看', '的', '但', '大', '额', '是', '的', '个' };// 字符数组部分长度转换成字符串
String s4 = new String(ch, 2, 3);
System.out.println(s4);
System.out.println(s4.length());
System.out.println("--------------------------");
String s5 = new String("第三空间打开");// 字符常量
System.out.println(s5);
System.out.println(s5.length());
}
}
public boolean equals(Object anObject) :比较字符串的内容是否相同
public boolean equalsIgnoreCase(String anotherString):比较内容是否相同,忽略大小写
public boolean contains(String s):判断大字符串中是否包含一个子字符串
public boolean startsWith(String prefix):判断字符串是以...开头
public boolean endsWith(String suffix):判断字符串是以...结尾
public boolean isEmpty() :判断字符串是否为空
两个区别:
前者:表示当前s对象是一个空内容
后者:表示空对象
String s ="" ;
String s = null;
package org.westos.Demo7;
public class StringDemo2 {
public static void main(String[] args) {
String s1 = "abcdefg";
String s2 = new String("abcdefg");// String中重写了equals();比较的是两个对象的内容
System.out.println(s1.equals(s2));// true
String s3 = "abcDefG";
System.out.println(s1.equalsIgnoreCase(s3));// true 比较内容忽略大小写
String s4 = "dsadjavadsjak";
String s5 = "java";
System.out.println(s4.contains(s5));// 判断一个大字符穿中是否含有另一个字符串
String s6 = "javadffds";
String s7 = "java";
System.out.println(s6.startsWith(s7));// 判断是否以这一个字符串开头
String s8 = "sadsdjava";
String s9 = "java";
System.out.println(s8.endsWith(s9));// 判断是否以这个字符串结尾
String s10 = new String();
System.out.println(s10.isEmpty());
}
}