string是引用数据类型,实例化方式:
1、直接赋值
如:String name = "xiaobai";
2、构造方法实现其实例化
如:String name = new String("xiaobai")
实例化方式区别:
●直接赋值会出现常量池数据共享的现象
即:常量池中开辟空间(具体值)——栈(储存地址)
●构造方法实现其实例化,这种方式每new一次就会创建新的对象
即:1、常量池中开辟空间(具体值)——堆(储存开辟的空间在常量池中的位置)——栈(储存对应堆的位置)
2、新建的对象储存在堆中
String中常用方法:
●length() 返回字符串的长度
如:String st = "guhbg";
System.out.print(st.length());//结果为5
●StartsWith(String value )判断字符串是否以value开头,返回true 或 false
public static void main(String[] args) {
String st = "xingsf";
System.out.println(st.startsWith("vg"));//返回false
}
●endsWith(String value )判断是否以字符串value结尾(与上一条类似)
●equals()用于判断两个字符串是否完全相同
public static void main(String[] args) {
String st = "xingsf";
String fg = "xingsf";
System.out.println(st.equals(fg));//返回true
}
●String 类equals方法与“==”区别
▪equals方法判断两个字符串是否完全相同
▪“==”:若比较的两个变量是引用类型,“==”用于比较两个变量知否指向同一个存放数据的地址
若比较的两个变量是基本数据类型,“==”比较值是否相同
●equalsIgnoreCase() 判断两个字符串忽略大小写后是否相同,返回Boolean类型
例如:
●toChararray() 将字符串转换为char类型的数组
●
注:trim()只能消除字符串前后的空格,不能消除字符串中间的字符;若要删去字符串的所有空格,可使用
“ replaceALL(" ","")”
●
例:
强调:
在该程序中,String修饰的“Lucy”相当于局部变量,作用范围有限制;而数组是可变的
运用java API 文档
双击运行java API文件后----点击索引后----输入你要查找的内容
StringBuffer
例如:
输出结果为:AB B