您的位置:首页 > 编程语言 > Java开发

JavaSE 基础 第11节 深入理解字符串

2016-06-29 12:21 309 查看
2016-06-29

1 字符串处理
求子串。 helloworld
String str="helloworld";
//5<= n <9
//str=str.substring(5,10);
str=str.substring(0,5);

package com.java1995;
/**
* 求子串
* @author Administrator
*
*/
public class TestString {
public static void main(String[] args){

String str="helloworld";
// 5<= n < 9
//str=str.substring(5,10);
str=str.substring(0,5);

System.out.println(str);
}

}




测试字符串是否相等。equals
Object equals:比较内存地址
String equals:比较内容
API 1.6

1,寄存器
2,栈
3,堆 * new
4,静态存储区
5,常量存储区 * final static String常量池
6,其他存储位置

package com.java1995;
/**
* 判断字符串是否相等
* @author Administrator
*
*/
public class TestString2 {

public static void main(String[] args){
String s1="hello";//声明一个String类型的变量
String s2="hello";//声明另一个内容相同的String类型变量

String s3="hello"+"world";
//比较内容
System.out.println(s1.equals(s2));
//比较内存地址 true
System.out.println(s1 == s2);
//比较内容
System.out.println(s1.equals(s3));
//比较内存地址
System.out.println(s1 == s3);

// 运行结果 true true false false
}

}




package com.java1995;
/**
* String常量池、堆内存
* @author Administrator
*
*/
public class TestString3 {

public static void main(String[] args){

//维护在常量池里面
String a="hello";
String b="hello";

//new出来的所有对象都是在堆内存
//只要是new出来的,都是新对象
String c= new String("hello");
String d= new String("hello");

System.out.println(a==b);//true
System.out.println(a==c);//false
System.out.println(c==d);//false
}

}




字符串编辑
字符串的内容不会变,改变的是引用
String a="hello";
a=a+"world";
System.out.println(a);

package com.java1995;
/**
* 字符串编辑
* @author Administrator
*
*/
public class TestString4 {
public static void main(String[] args){
String a="hello";
a=a+"world";

int count=a.indexOf("world");
System.out.println(a);
System.out.println(count);
}

}




2 字符串其他常用操作

【参考资料】

[1] Java轻松入门经典教程【完整版】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: