java_String、StringBuffer
2018-01-04 09:19
323 查看
堆中存放对象,栈中存放对象的引用,方法区中的字符串常量池存放字符串。
package com.tz.StringTest; import java.util.Scanner; /** * java.lang.String * 1. String类型的字符串一旦创建 不可改变;(....) * 2 为了提升字符串的访问效率,使用了缓存技术 * 字符串常量池 所有用"" 括起来的字符串都会在字符串常量池中找,如果没有就创建一份, * 如果有的话,直接用 */ public class StringDemo { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str="ss";//创建了一份 int s1=123; // str="大名sss"; String str1="ss"; String str2="g"; String str3="ssg"; String str4= "ss"+str3; String str6=new String("ss"); System.out.println(str6==str1); System.out.println(str4); System.out.println(str4 == str3);// System.out.println(str.toString());// System.out.println("------------------"); String str5=new String("123"); System.out.println(str5); //String常用方法 //截取字符串 index 下标 从0开始 String ss1="大名帅锅"; char ch=ss1.charAt(ss1.length()-1); System.out.println(ch); // [开始下标 结束下标) [开始下标 结束下标] System.out.println(ss1.substring(0,3)); //通过内容找下标 int s="1大名践行".indexOf("大"); System.out.println(s); //去掉前后的空格 System.out.println(" dsada dsads 大叔大婶 ".trim()); String[] zs= {""}; //字符串替换 String t1="dasasa".replace('s', '*'); System.out.println(t1); //字符串通过关键字截取,并返回字符串数组 String[] split = "dsads,12,456".split(","); for (String string : split) { System.out.println(string); } } }
package com.tz.StringTest; /* * 1.缓冲区: StringBuffer是 字符串缓冲区 * 可以改变! * 2.工作原理: * 在内存中申请一个空间 用来容纳字符串序列 * 如果预留的空间不够 则进行 自动扩容 * StringBuffer 和String的区别 * 1. String 是一个不可改变的字符串序列 存在字符串常量池中的 * 2. StringBuffer底层是一个char数组, char数组可以改变 自动扩容 * */ public class StringBufferDemo { public static void main(String[] args) { StringBuffer strb=new StringBuffer("大名");(线程安全,但是效率低) StringBuilder sbd=new StringBuilder("小明");(线程不安全,但是效率高) //---- strb.append("骚情");//追加操作 sbd.append("同学"); ///-- System.out.println(strb); System.out.println(sbd); strb.append("骚情s"); } }
相关文章推荐
- 【Java】Java中,String、StringBuffer和StringBuilder的区别
- JAVA中String与StringBuffer的区别
- java学习—探秘Java中的String、StringBuilder以及StringBuffer
- JAVA StringBuilder StringBuffer String比较
- 探秘Java中String、StringBuilder以及StringBuffer
- Java String之StringBuffer以及它的API的详细使用方法
- Java面向对象-内部类、String、StringBuffer
- Java中String 和StringBuffer的区别?
- java语言中String,StringBuffer,StringBuilder的区别
- 探秘Java中的String、StringBuilder以及StringBuffer
- JAVA基础--db13_java_String&StringBuffer
- 【JAVA_SE学习笔记】String、StringBuffer和StringBuilder
- Java中的String,StringBuilder,StringBuffer三者的区别
- java_String和StringBuffer区别分析
- java - 字符串处理 - String|StringBuffer|StringBuilder
- java中字符串的拼接使用StringBuffer而不使用String的理由
- Java中String、StringBuffer与StringBuilder的区别
- 黑马程序员——【Java基础】——String、StringBuffer和基本数据包装类
- java中String、StringBuffer、StringBuilder的区别
- Java 中的字符串类String、StringBuffer、StringBuilder