String str = "ab"; // ""ab""其本身是常量.
String str1 = "ab";
System.out.println(str==str1);//如果打印 这里比较的是内容 所以结果为true
String str2 = new String("ab");//创建String类型的对象
String str3 = new String("ab");
System.out.println(str2==str3);//虽然str2和str3内容相同 但是这里比较的是两个对象的地址 因此为false
System.out.println(str2.equals(str3));//如果要比较内容需要用equals进行比较,这时候输入结果为true
String str4 = "abc";
String str5 = "abc"+"def";
//以上代码有三个对象"abc","def",和拼接之后的"abcdef"
String的常用方法:
1.trm:去除字符串左右两边的空格.
例如:
String str = " jack ";
System.out.println(str.length());//这时候打印str长度为6(加上两边的空格)
String trim = str.trim();//这时候可以用到trm
System.out.println(trim.length());//打印可以发现str长度为4,两边空格的长度已经被消除了
2. toCharArray :将字符串转换为字符类型的数组
例如:
String url = "www.baidu.com";
char[] chars = url.toCharArray();
3.isEmpty:判断字符串内容是否为空
例如:
boolean empty = url.isEmpty();
System.out.println(empty);//打印结果为false
4.getBytes:将字符串转化为字节数组
例如:
byte[] bytes = url.getBytes();
System.out.println(Arrays.toString(bytes));
//打印内容为[119, 119, 119, 46, 98, 97, 105, 100, 117, 46, 99, 111, 109]
5.compareTo:将对象与方法的参数进行比较
例如:
String str = "a";//a参数为97
String str1 = "c";// c参数为99
int i = str.compareTo(str1);
System.out.println(i); //a与c比较 打印结果为-2
6.concat:返回结果为连接参数产生的字符串
例如:
String concat = str.concat(str1);
System.out.println(concat);//结果为"ac"
7.charAt:通过位置,获取到字符.
例如:
String url = "http://www.sina.com.cn";
char c = url.charAt(1);//获取索引为1的内容
System.out.println(c);//打印结果为t
8. replace:查找与内容匹配的字符串替换为新的内容
例如:
String replace = url.replace(":", "**");
System.out.println(replace);//打印结果为http**//www.sina.com.cn
转换大小写:
String str = "abcDEFghIJackTom";
9.toUpperCase:将字符串全部转换成大写.
例如:
String upper = str.toUpperCase();
System.out.println(upper);//打印内容为ABCDEFGHIJACKTOM
10.toLowerCase:将字符串全部转换成大写.
例如:
String lower = str.toLowerCase();
System.out.println(lower);//打印内容为 abcdefghijacktom
11.split:将字符串中的逗号去除.并且组合成新的字符串.
例如:
String str = "a,b,c,d,e,f,g";
String[] split = str.split(",");//把,选中去除
String newStr = "";//设一个字符串
for (int i = 0; i < split.length; i++) {
newStr += split[i];//用字符串把去除之后的内容拼接起来
}
System.out.println(newStr);//打印结果为abcdefg
12.subString 在截取字符串时,包前不包后.
例如:
String url = "http://www.sina.com.cn";
String str = url.substring(7);//索引7为w所以包括
String str1 = url.substring(7, 19);//索引7到索引19,包前不包后 所以是从w到m(不包括.)
System.out.println(str);//打印结果为www.sina.com.cn
System.out.println(str1);//打印结果为www.sina.com
13.indexOf:获取到字符串的当前(字符)位置. (是字符串第一次出现的位置)
例如:
int index = url.indexOf("/");
System.out.println(index);//索引为5
14.lastIndexOf:获取到字符串的当前(字符)位置. (是字符串最后一次出现的位置)
int lastIndex = url.lastIndexOf(".");
System.out.println(lastIndex);//索引为19
String newStr = url.substring(url.indexOf("/") + 2, url.lastIndexOf("."));
//把/后两位(w)到.(不包后)之间内容拼接起来
System.out.println(newStr);//结果为www.sina.com
String url = "http://www.baidu.com";
String url1 = "http://www.sina.com.cn";
15.contains 是否包含某个字符串.
System.out.println(url.contains("//"));//结果为true
16.startsWith起始位置是否相同.是否包含.
System.out.println(url.startsWith("http://www."));//结果为true
17.equals判断字符串是否相同.
String str = "jack";
String str1 = "Jack";
System.out.println(str.equals(str1));//结果为false