java基础<String-StringBuffer-StringBuilder>

String概述

一、概述
class StringDemo 
{
	public static void main(String[] args) 
	{	
		String s=new String();//①
		String s1="";//② 这两个都表示空参数的字符串

		String s2="abc"//s1是一个String类型的引用变量,"abc“是一个对象。
		//字符串最大的特点:一旦被初始化,就不可以被改变。
		String s3=new String("abc");
		//s1和s2有什么区别?
		//s1在内存中有一个对象。
		//s2在内存中有两个对象。
		String s4="abc";
		System.out.println(s2==s4);//true.因为String字符串被存入常量池,为了避免浪费空间,相同的字符串拥有相同的地址。
		System.out.println(s2==s3);//false
		System.out.println(s2.equals(s3));//true。返回true的原因是String类把equals()方法重写了,不再是Object类中比较地址值的方法了,而是比较两个对象是否相同。	

	
	}
}

String常见功能——获取和判断

一、概述
String类用于描述字符串事物。

1.获取
1.1 字符串的长度。
int length();
1.2 根据位置获取位置上某个字符。
char charAt(int index);
1.3根据字符获取该字符在字符串中的位置。
int indexOf(int ch);
int indexOf(int ch,int fromIndex);
int indexOf(String str);
int indexOf(String str,int fromIndex);
int lastIndexOf(int ch);
2.判断
2.1 字符串中是否包含某一个子串。
boolean contains(str);
另一种判断方式:indexOf(str).如果找到,则返回第一个出现的位置。如果没有,则返回-1.
2.2 字符串中是否有内容。
boolean isEmpty();
另一种判断方式:lentgh():如果等于0,则为空。
2.3 字符串是否是以指定内容开头。
boolean startsWith(str);
2.4 字符串是否是以指定内容结尾。
boolean endsWith(str);
2.5 判断字符串内容是否相同。
boolean equals(str);
2.6 判断内容是否相同,并忽略大小写。
boolean equalsIgnoreCase();

String常见功能——转换

一、概述
3.转换
3.1 将字符数组转换成字符串
构造方法:
 String(char[]);
 String(char[],int offset,int count);
静态方法:
 static String copyValueOf(char[]);
 static String copyValueOf(char[] data,int offset,int count);
 static String valueOf(char[]);


 ***3.2 将字符串转成字符数组***
char[] toCharArray();
3.3将字节数组转换成字符串。
构造方法:
 String(byte[]);
 String(byte[],int offset,int count);
3.4将字符串转成字节数组。
byte[] getBytes();//在转换过程当中,可以指定编码表。
3.5将基本数据类型转成字符串。
static String valueOf(int)
static String valueOf(double)

String常见功能——替换和切割

一、概述
***4.替换****
4.1 String replace(oldchar,newchar)
因为字符串对象一旦被创建就不能被改变,所以调用该方法的对象不会改变自身,而是返回一个新的对象。
如果要替换的字符不存在,返回的还是原字符串。

4.2 String replace(CharSequence target,CharSequence replacement)
CharSequence是个接口,String,StringBuilder,StringBuffer都要实现它

5.切割
5.1 String[] split(regex);
例如:String s="zhangsan,lisi,wangwu";
 String[] arr=s.split(",");
6.子串
6.1 String substring(begin)
取出从指定位置到结尾的字符串
6.2 String substring(begin,end);
包含头,不包含尾的字符串

常见功能——比较、去除空格和比较

一、概述
7.转换,去除空格,比较
7.1将字符串转成大写或小写。
String toUpperCase();
String toLowerCase();
7.2将字符串两端的多个空格去除。
String trim();
7.3将两个字符串进行自然顺序的比较。
int compareTo(string);

StringBuffer常见功能——添加

一、概述
StringBuffer是字符串缓冲区,它是一个容器。
三个特点:
1.长度是可变化的。(数组也是容器,但是长度不可变)
2.可以直接操作多个数据类型。(数组只能操作一种数据类型)
3.最终会通过toString方法编程字符串。

1.存储
	1.1StringBuffer append(数据):将各种基本数据类型添加到容器的末尾,并且调用该方法,修改的是原始对象,并不创建一个新对象(不同于String)
	   StringBuffer sb=new StringBuffer();
	   sb.append("abc").append(true).append(34);
	   System.out.println(sb);//abctrue34
	1.2StringBuffer insert(index,数据);
	   sb.insert(1,"qq");//aqqbctrue34

StringBuffer常见功能——删除、获取、替换、反转

一、概述
2.删除
	2.1    StringBuffer delete(start,end);删除缓冲区中的数据(原则同样是包含start,不包含end)
	2.2	   StringBuffer deleteCharAt(index);删除指定位置的字符。
3.获取
	3.1	   char charAt(index);
	3.2    int indexOf(String);
	3.3	   int lastIndexOf(String);
	3.4	   int length();
	3.5	   String substring(int start,int end);
4.替换
	4.1    StringBuffer replace(start,end,String);
	4.2	   void setCharAt(index,char);

5.反转
	5.1	   StringBuffer reverse();

6.将StringBuffer从指定位置取出字符放入指定字符数组的指定起始位置。
	void getChars()(int srcBegin,int srcEnd,char[] dst,int dstBegin)

StringBuilder

一、概述
StringBuilder:一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换。JDK1.5以后才出现。将 StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用 StringBuffer。 
二、JAVA升级三个原则
1.提高效率
2.简化书写
3.提高安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值