String的介绍

String类介绍

本篇文章只适合刚学java的爱好者,讲解都是最基本的内容,对于那些大佬们,可以直接跳过去了.
1.String类介绍
在Java中,字符串是String类的对象,可以通过使用String类提供的方法来完成对字符串的基本操作
2.字符串注意事项:
a.字符串都是对象, String str = “abc”; 字符串是在方法区的常量池中 String str = new String(“abc”);此时有两个地址值,一个在方法区的常量池地址,一个是堆内存地址中
b.字符串一旦初始化以后么就不能在更改,因为字符串都是常量
c.字符串可以共享,即同一个常量可以被多个字符串变量指向,所有的地址值都相同
d.在引用数据类型中==代表的是对象地址是否相同,equals判断你的则是内容是否相同
3.String类常用的方法

这是自己写的方法的简单例子

		String str = "abacde";
		//获取字符串中有多少字符
		int s1 = str.length();
		//获取指定字符的位置
		int s2 = str.indexOf('a');  //从字符串中找到第一个位置出现的位置
		int s3 = str.indexOf('a', s2);//从下标为s2的位置查找
		int s4 = str.lastIndexOf('a'); //从后往前找
		//获取指定位置的字符
		char s5 = str.charAt(3);				
		//获取部分字符串
		String str1 = str.substring(1, 3);
		System.out.println(str1);
		//字符串中是否包含另一个字符
		boolean str2 = str.contains("bc");
		System.out.println(str2);
		//将指定的字符串换成另一个字符串
		String str3 = str.replace("bc", "true");
		System.out.println(str3);
		//字符串转换成字符数组或者字节数组
		char[] str4 = str.toCharArray();
		System.out.println(str4[1]);
		byte[] str5 = str.getBytes();
		System.out.println(str);
		//将所有的字符串转换成大写
		String str6 = str.toUpperCase();
		System.out.println(str6);
		//将所有的字符串转换成小写
		String str7 = str6.toLowerCase();
		System.out.println(str7);
		//字符串切割  切割成数组
		str = "明白,聪明,撒旦";
		String[] str8 = str.split(",");
		System.out.println(str8[0]);
		//字符串之间的比较    负数表示比它小,正数表示比他大,相等则为0
		int str9 = "a".compareTo("b");
		System.out.println(str9);  
		

4.StringBuffer的使用
StringBuffer:会把字符串缓冲区中的所有存储的元素都转成字符串,而且最终变成一个大的字符串
* 1.字符串缓冲区(容器,和数组类似)
* 2.长度课变化,并且任意数据类型都能够存,其实就是将其他的数据类型转换成字符串在进行存储
* 3.具有增删改的功能
* 4.必须所有的数据最终会变成字符串

		StringBuffer sb = new StringBuffer();//默认初始化容量为16,如果超了可以自动扩容
		//往容器中添加数据
		sb.append("abc");//追加方法
		sb.append(true);
		sb.append("1").append("x").toString();//最后将数据变成toString
		//添加完之后想要进行操作,组队中需要变成String
		//在指定的位置添加
		sb.insert(0, "xixi"); //往下标为0的位置上添加一个字符串,位置时可以变的
		sb.insert(1, "hahh");
		System.out.println(sb);
		
		//删除数据
		sb.delete(0, 2);//删除下标为0和1的字符串 包含头不包含尾
		System.out.println(sb);
		
		//修改数据----替换数据
		sb.replace(0, 3, "coco");  //将下标为0-2的字符串替换为coco 
		String s = sb.toString(); //字符串最后都要调用toSting方法
		System.out.println(s);
		
		
		String s1 = "a"+6+true;//相当于下面的命令
		new StringBuffer().append("a").append(6).append(true).toString();
		

5.SringBuilder的作用
*一个可变的字符序列
*该类被设计作用于StringBuffer的一个简单替换,用在字符串缓冲区被单个线程使用的时候

6.StringBuffer和StringBuilder的区别:
*StringBuffer 字符串变量(线程安全);同步的,多线程访问安全
*StringBuilder 字符串变量(非线程安全);不同步的,单线程访问 效率更高
*在大部分情况下 StringBuilder > StringBuffer;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值