------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
String
字符串一旦被初始化,就不会被改变。
String s1="abc";
String s2=new String("abc");
s1和s2的区别
s1在内存中有一个对象。
s2在内存中有两个对象。
true
==和equals的区别
==是比较对象在内存中的地址值。
equals比较的是对象中的内容是否相同
String s1="abc";
String s2=new String("abc");
s1和s2的区别
s1在内存中有一个对象。
s2在内存中有两个对象。
public class StringTest {
public static void main(String[] args) {
String s1 = "abc";
String s2 = new String("abc");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
}
}
运行结果:false
true
==和equals的区别
==是比较对象在内存中的地址值。
equals比较的是对象中的内容是否相同
String的基本操作:
获取
①获取字符长度:int length()
②获取字符串中字符:char charAt()
③获取字符串中位置:int indexof('a')
④反向查找字符串:int lastIndexOf();
判断
①字符串是否包含一个子串:boolean contains(); indexOf()返回-1,表示没有!
②字符串是否有内容:boolean isEmpty()1.6版本
③字符串是否以指定开头:boolean startsWith()
④字符串是否以指定结尾:boolean endsWith()
⑤判断字符串是否相同:boolean equals()
⑥判断字符串是否相同忽略大小写:boolean equalsIgnoreCase();
转换
①字符数组转字符串
构造函数:String(char[]); String(char[],开始,结束)一部分转成字符串。
静态方法:copyValueOf(char[]); valueOf()
②字符串转字符数组:char[] toCharArray();
③字节数组转字符串:String(byte[])
④字符串转字节数组:byet[] getBytes();
⑤基本数据类型转字符串:static String valueOf(int);
替换
①新字符替换老的:String replace(old,new);
替换成功成为新的字符串,老的不变。如果没有返回原串。
切割: String split(regex);
子串:获取字符串中一部分:
String substring(开始,结束);包头不包尾
转换:字符串转换成大写或小写
String toupperCase();
String toLowerCase();
去除:两端多余空格
String trim()
比较:进行自然顺序比较
int compareTo(); >正整数 <负数 =0