黑马程序员__String及其相关类

黑马程序员——String及其相关类

------- android培训java培训、期待与您交流! ----------

1.String类

  (1)String类代表字符串,其最大特点就是一旦初始化就不可以被改变。Java程序中的所有字符串面值都是此类的实例实现。一个字符串常量就是String的匿名对象。

  (2)字符串的两种赋值方式:

       第一种:String str1="hello";

  第二种:String str2=new String("hello");

   

    两种赋值方式的区别:

          第一种方式在内存中只有一个对象;而第二种方式在内存中有两个对象。

  (3)String的常见方法

        <1>获取

           int length():获取字符串的长度。

          char charAt(int index):获取指定位置上的某个字符。

          int indexOf(int ch):获取指定字符在字符串中的位置。

          int indexOf(int ch,int fromIndex):从指定位置开始,获取ch在字符串中出现的位置。

          int indexOf(String str):返回的是str在字符串中第一次出现的位置。

          int indexOf(String str,int formIndex):从formIndex开始,获取str在字符串中出现的位置。

         int lastIndexOf(int ch):反向索引ch在字符串中出现的位置。

    <2>判断

        boolean contains(String str):判断字符串中是否包含某一个子串。

        boolean isEmpty():判断字符串是否有内容。

        boolean startsWith(String str);判断是否是以指定内容开头。

        boolean endsWith(String str):判断是否是以指定内容结尾。

        boolean equals(String str):判断字符串内容是否相同。

        boolean equalsIgnoreCase();判断内容是否相同,并忽略大小写。

   <3>转换

       String(char[] ch):将字符数组转换为字符串。

       static String copyValueof(char[] ch):将字符数组转换为字符串。

       char[] toCharArray():将字符串转换为字符数组。

       byte[] getBytes():将字符串转换成字节数组。

       static String valueOf(基本数据类型):将基本数据类型转换为字符串。

  <4>替换

      String replace(char old,char new):用指定字符替换原有字符,并返回一个新串。

      String replace(String old,String new):用指定字符串替换原有的字符串,并返回一个新串。

   <5>切割

     String[] split(regex):将字符串按照指定正则表达式进行切割,并返回一个新串。

   <6>截取

     String substring(int beginIndex):从指定位置开始截取到结尾。

     String substring(int beginIndex,int endIndex):从指定位置开始截取,包含头不包含尾。

  <7>转换大小写

     String toUpperCase();将指定字符串转换为大写。

     String toLowerCase():将指定字符串转换为小写。

 <8>去除空格

     String trim();将字符串两端的多个空格去除。

     字符串练习示例:

      //获取两个字符串中最大相同子串。 
    

//获取两个字符串中最大相同子串。 
class StringDemo
{
	public static void main(String[] args) 
	{
		getSame("qqwe2223akdieujj","poiuytrw222e398777");
	}
	private static void getSame(String str1,String str2)
	{
		//判断大小串
		String max="";
		String min="";
		max=(str1.length()>str2.length())?str1:str2;
		min=(max==str1)?str2:str1;
		//循环获取子串进行比较
		for(int x=0;x<min.length();x++)
		{
			for(int start=0,end=min.length()-x;end!=min.length()+1;start++,end++)
			{
				//获取子串
				String temp=min.substring(start,end);
				//判断
				if(max.contains(temp))
				{
					System.out.println("最大相同子串是:"+temp);
					return;
				}
			}
		}
	}
}


2.StringBuffer类

  (1)StringBuffer是字符串缓冲区,可以视为一个容器。

           特点:长度是可变的;可以直接操作多个数据类型;可以通过toString()方法变为字符串。

   (2)常见操作方法:

       <1>存储

             StringBuffer append(参数):将指定数据作为参数添加到已有数据结尾处。 

             StringBuffer insert(int index,数据):将数据插入到指定index处。

      <2>删除

             StringBuffer delete(int start,int end):删除缓冲区的包含start,不包含end的数据。

             StringBuffer deleteCharAt(int index):删除指定位置的字符。

     <3>获取

           char charAt(int index):获取指定索引处的字符。

           int indexOf(String str):获取指定字符串的位置。

           int lastIndexOf(String str):反向索引查找指定字符串的位置。

           int length():获取长度。

       <4>修改

           StringBuffer replace(int start,int end,String str):从start开始,不包含end替换为str。

       <5>反转

           StringBuffer reverse():反转字符串。

3.StringBuilder类

    StringBuilder是在JDK1.5之后出现的。其与StringBuffer的实现原理是基本相同的。

    两者的区别是:

                          StringBuffer是同步的,线程安全的,但性能较低;

                          StringBuilder是不同步的,线程不安全的,但性能较高。

  注意:在开发中,建议使用StringBuilder。

   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值