Java 常用的工具类 String

String 

  1、String表示字符串类型,属于引用数据类型,不属于基本数据类型。
  2、在java中随便使用双引号括起来的都是String对象。例如:"abc","def","hello world!",这是3个String对象。
  3、java中规定,双引号括起来的字符串,是不可变的,也就是说"abc"自出生到最终死亡,不可变,不能变成"abcd",也不能变成"ab"
  4、在JDK当中双引号括起来的字符串,例如:"abc" "def"都是直接存储在“方法区”的“字符串常量池”当中的。
    为什么SUN公司把字符串存储在一个“字符串常量池”当中呢。因为字符串在实际的开发中使用太频繁。为了执行效率,
    所以把字符串放到了方法区的字符串常量池当中。

  String s1 = "hello";
  // "hello"是存储在方法区的字符串常量池当中
  // 所以这个"hello"不会新建。(因为这个对象已经存在了!)
  String s2 = "hello";
  // 分析结果是true还是false?
  // == 双等号比较的是不是变量中保存的内存地址?是的。
  System.out.println(s1 == s2); // true

  String x = new String("xyz");
  String y = new String("xyz");
  // 分析结果是true还是false?
  // == 双等号比较的是不是变量中保存的内存地址?是的。
  System.out.println(x == y); //false

  toString()

  compareTo() -- 比较

  charAt() -- 某处的值

  contains() -- 前面的包含后面的

  equals() -- 比较

  equalsIgnoreCase() -- 忽略大小写比较

  getBytes()

  indexOf() --  第一次出现的索引   lastIndexOf() -- 最后一次出现的

  isEmpty() -- 是否为空

  lenth() -- 长度 

  replace() -- 替换

  split() -- 拆分

  startsWith();  -- 以什么开始

  subString() -- 截取字符串

  toCharArray()

  toLowerCase()  -- 转换为小写

  toUpperCase() -- 转换为大写

  tirm() -- 空格

  valueOf -- 将不是字符串的东西 转换成字符串

 

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

 

StringBuffer  a1 = new StringBuffer(); 

 a1.append(100);

  

 StringBuilder  a2 = new StringBuilder(); 

 a2.append(100);

 

  当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

  和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

  StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

  由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

 

    

posted @ 2020-09-08 00:15  一叶扁舟,乘风破浪  阅读(817)  评论(0编辑  收藏  举报