首页 / 日志 / Java初学者日志_String类
Java初学者日志_String类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java初学者日志_String类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2212字,纯文字阅读大概需要4分钟。
内容图文
![Java初学者日志_String类](/upload/InfoBanner/zyjiaocheng/602/45ceb53165e14b00a4cc9a58c5038857.jpg)
String类是对象不可变的字符序列,
StringBuilder和StringBuffer代表可变字符序列
StringBuilder线程不安全,不做线程同步检查,因此效率较高,建议使用
StringBuffer线程安全,做线程同步检查,效率较低
public class Stringss {
public static void main(String[] args) {
String str1="hello"+" java";//相当于str1="hello java";
String str2="hello java";
System.out.println(str1==str2);//true
String str3="hello";
String str4=" java";
String str5=str3 + str4;
System.out.println(str5==str2);
String str6="asd";//不可变字符序列
//可变字符序列
StringBuffer sbf=null;
StringBuilder sbd=null;
sbd=new StringBuilder("lv");
//sbd.append相当于this.append,在源码中,返回值为本身
//.append()在字符串后边追加字符串,
sbd.append(123);
sbd.append(456);
System.out.println(sbd);
sbd.append("aa").append("bb").append("cc");
System.out.println(sbd);
sbf=new StringBuffer("ya");
System.out.println(sbf=new StringBuffer("ge"));
for(int i=0;i<10;i++){
sbf.append(i);
}
System.out.println(sbf);
StringBuilder sb1=new StringBuilder("我叫星空辰梦");
//插入操作
sb1.insert(0,"1").insert(1,"2");
System.out.println(sb1);
//删除操作
sb1.delete(2,4);
System.out.println(sb1);
//获取单个字符
System.out.println(sb1.charAt(4));
//字符串逆序
System.out.println(sb1.reverse());
}
}
Strign与StringBuilder占用内存以及占用时间的对比
public class test {
public static void main(String[] args) {
String s="";
long num1 =Runtime.getRuntime().freeMemory();//获取系统剩余内存空间
long time1=System.currentTimeMillis();//获取系统的当前时间
for(int i=0;i<5000;i++){
s=s+i;//相当于产生了5000个对象因为String类不可变(只会产生一个新的String类)
}
long num2 =Runtime.getRuntime().freeMemory();
long time2=System.currentTimeMillis();
System.out.println("String占用内存:"+(num1-num2));
System.out.println("String占用时间:"+(time2-time1));
System.out.println("#################");
StringBuilder sbd=new StringBuilder("");
long num3 =Runtime.getRuntime().freeMemory();
long time3=System.currentTimeMillis();
for(int i=0;i<5000;i++){
sbd.append(i);
}
long num4=Runtime.getRuntime().freeMemory();
long time4=System.currentTimeMillis();
System.out.println("StringBuilder占用内存:"+(num3-num4));
System.out.println("StringBuilder占用时间:"+(time4-time3));
}
}
以后当遇到需要拼接字符串的时候使用StringBuilder,因为使用String会创建大量无用对象
内容总结
以上是互联网集市为您收集整理的Java初学者日志_String类全部内容,希望文章能够帮你解决Java初学者日志_String类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。