String类概述

  1. 字符串是常量,创建之后不可改变。
  2. 字符串字面值存储在字符串池中,可以共享。
public class Demo3{
    public static void main(String[] args){
        String name = "hello";//常量存储在字符串池中
    	name = "zhangshan";//"zhangshan"赋值给name变量,给字符串赋值时,并没有修改数据,而是重新开辟一个空间
    	//当name指向"zhangshan"时,hello变成了垃圾,触发垃圾回收器时可能被回收。
        name2 = "zhangshan";
    }
}

  1. String s = "Hello";产生一个对象,字符串池中存储。
  2. String s = new String(“Hello”);//产生两个对象,堆、池条存储一个。
public class Demo3{
    public static void main(String[] args){
    	String str = new String("Java");//实际运行时,堆中没有Java,而是指向了字符串池中的Java
    	String str2 = new String("Java");
		System.out.println( str == str2);        
    }
}

str == str2 结果为false,str2会在堆中重新开辟一个空间,然后指向字符串池,但是str与str2地址不同,所以结果为0。

  1. 常用方法
    1. public int length() : 返回字符串的长度。
    2. public char charAt(int index) : 根据下标获取字符。
    3. public boolean contains(String str) : 判断当前字符串中是否包含str。
    4. public char[] toCharArray() :将字符串转换成数组。
    5. public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1。
    6. public int lastIndex0f(String str):查找字符串在当前字符串中最后一次出现的下标索引。
    7. public String trim():去掉字符串酋后的空格。
    8. public String toUpperCase():将小写转成大写,toLowerCase()将大写转成小写。
    9. public boolean endWith(String str):判断字符串是否以str结尾,startwith(String str)判断字符串是否以str开头。
    10. public boolean endWith(String str):判断字符串是否以str结尾。
    11. public String replace(char oldChar, char newChar);将旧字符串替换成新字符串。
    12. public String[] split(String str):根据str做拆分。
    13. 字符串比较大小可以用equals(),发返回值为bool型,compareTo()返回值是ASCII值之差,或两字符串长度之差。
public class Demo3{
    public static void main(String[] args){
        //Ascll值
    	String s1 = "abc";
    	String s2 = "ayzawe";
		System.out.println( s1.compareTo(s2)); 

        //长度
        String s3 = "abc";
    	String s4 = "abcxysz";
		System.out.println( s3.compareTo(s4));    
    }
}

  1. 可变字符串
    1. StringBuffer:可变长字符串(会先开辟一个缓冲区),JDK1.0提供,运行效率慢(比String快,比StringBuilder慢)、线程安全。
    2. StringBuilder:可变长字符串(会先开辟一个缓冲区),JDK5.0提供,运行效率快、线程不安全。
    3. 常用方法:append(),insert(),replace(),delete(),reverse()。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值