eg1:
<span style="font-size:14px;">public class TestString {
public static void main(String[] args) {
String s1 = "Hello";
String s2 = "World";
String s3 = "Hello";
System.out.println(s1 == s3); //true
//s1, s2 并未 new,创建的字符串存放在data segment中,指向的同一个"Hello"
s1 = new String("hello");
s2 = new String("hello");
System.out.println(s1 == s2); //false //注意和前者对比
System.out.println(s1.equals(s2)); //true,equals在Object中已经重写(查看API/String方法)
char[] c = {'O', 'r', 'a', 'c', 'l', 'e', ' ', 'J', 'a', 'v', 'a'};
String s4 = new String(c);
String s5 = new String(c, 7, 4); //从第7个字符开始,截取4个字符(注意从0开始)
String s6 = new String(c, 0, 5);
System.out.println(s4); //Oracle Java
System.out.println(s5); //Java
System.out.println(s6); //Oracl
}
}</span>
eg2:
public class TestString2 {
public static void main(String[] args) {
String s1 = "Oracle Java Java", s2 = "Oracle java java";
System.out.println(s1.charAt(1)); //r 第一个位置上的字符
System.out.println(s2.length()); //11 字符长度
System.out.println(s1.indexOf("Java")); //7 出现"Java"的第一个位置
System.out.println(s1.indexOf("Oracle")); //0 出现"Oracle"的第一个位置
System.out.println(s1.indexOf("java")); //-1 未找到,返回-1
System.out.println(s1.equals(s2)); //false
System.out.println(s1.equalsIgnoreCase(s2)); //true(忽略大小写)
String s = "刘关张三英战吕布";
String sr = s.replace('刘', '马'); //字符替换(只能一个字符)
System.out.println(sr); //马关张三英战吕布
}
}
/************输出结果:
r
11
7
-1
false
true
**********/
eg3:
public class TestString3 {
public static void main(String[] args) {
String s = "Welcome to Java World!";
String s1 = " Oracle Java ";
System.out.println(s.startsWith("Welcome")); //判断是否以 Welcome 开始
System.out.println(s.endsWith("World")); //判断是否以 World 结束
String sL = s.toLowerCase(); //全部转小写
String sU = s.toUpperCase(); //全部转大写
System.out.println(sL);
System.out.println(sU);
String subs = s.substring(11); //从第11个(注意从0开始)字符开始截取,一直到最后
System.out.println(subs);
String sp = s1.trim(); //去掉字符串前后空格
System.out.println(sp);
int i = 1234567;
String sNumber = String.valueOf(i); //该方法可方便求出一个数有多少位
System.out.println("i是 "+sNumber.length()+" 位数。");
String ss = "52, June, 1921, 65";
String[] sPlit = ss.split("2"); //使用"2"分割该字符串(so ga 第一次没明白)
for(int j=0; j<sPlit.length; j++) {
System.out.println(sPlit[j]); //此处写 i 编译不会出错(只是运行异常……)
}
}
}
/*************运行结果:
true
false
welcome to java world!
WELCOME TO JAVA WORLD!
Java World!
Oracle Java
i是 7 位数。
5
, June, 19
1, 65
************/
to be continued ...