java中的String

1.String 代表字符串,java中的字符串字面值如String s=”abc”,都可以看做是String s=new String();String类被final修饰不能被继承,也不能被修改,所以当String进行拼接,裁剪等操作时会产生新的字符串对象。
2.字符串常量池,java为了提升性能,java的字面量是在常量池中创建的,当出现重复的字面量,会现在常量池中查找,所以
String s1=“abc”;
String s2=“abc”;
//比较s1与s2的地址和字面值
System.out.println(s1s2);
//比较s1与s2 的字面值
System.out.println(s1.equals(s2));
这个两个的结果都是true
而 String s3=“def”;
String s4 = new String(“def”);
System.out.println(s3
s4);
System.out.println(s3.equals(s4));
的结果就是s3s4的结果是false,s3.equals(s4)的结果是true,原因是因为s1与s2字面值相等,所以都在String 的常量池中保存,所以s1s2和s1.equals(s2)都是相等的,而s4新创建了对象,所以s3与s4的地址不同。
3.String中的方法
1)charAt(int index),返回此处的char值(下标从0开始)
2)IndexOf(String s),返回指定字符串在此字符串第一次出现的索引。
3)trim(),返回此字符串去掉头尾空白
4.StringBuffer和StringBuilder
StringBuffer和StringBuilder都是可变字符串,区别是
StringBuffer,因为加了synchronized 所以线程安全,但是缺点就是效率低。
StringBuilder:没有synchronized 所以线程不安全,但是效率比较高。
StringBuffer和StringBuilder都有append()方法添加字符串,这种方式比+的方式效率高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值