java字符串操作
  一、字符串的创建
  1、直接赋值  String str=”hello“;//这里必须要双引号
  2、使用new关键字   String str=new String("hello")
  两种创建方式的异同:

  结论:采用第二种方式创建字符串时:系统会在堆内存中创建两个”hello“,但是其中一个”hello“没有的对应的栈内存指引,消耗多余内存,垃圾空间等待被回收。
  所以推荐使用第一种方式创建字符串
  二、字符串的常用方法
  java的很多字符串方法的名字和用法都和js字符串方法类似。
  1、public char charAt(int index)  返回指定索引处的 char 值
  2、public String concat(String str) 将指定字符串连接到此字符串的结尾。
  3、public int indexOf(String str,int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,
  。。。。
  我觉得应该注意的几个好玩方法:
  1、public int length()  返回此字符串的长度     这里和js有着细微的区别
  2、public boolean startsWith(String prefix, int toffset)  测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
  3、public boolean endsWith(String  suffix)  测试此字符串是否以指定的后缀结束。
  4、public char[] toCharArray()  将此字符串转换为一个新的字符数组。
  5、public void getChars(int srcBegin, int srcEnd,char[] dst,int dstBegin) 将字符从此字符串复制到目标字符数组。
  三、字符串打的不可变性

  看图可以,不多解释
  四、”另类字符串“
  1、StringBuffer sb=new StringBuffer("df");//长度可变,
  常用方法:
  append()
  insert()
  replace()
  indexOf()
  2、StringBuilder sb =new StringBuilder("dsf")
  特别适用在单个线程  速度比StringBuffer快
  考虑线程安全时,用Stringbuffer比较好