一 字符串

  Java字符串关键字是String,是一个类,创建新的字符串即创建一个新的对象。

1.字符串的声明及初始化。

String str;       //只做声明
  String str1="aaaa";  //声明并赋值,注意此时是在字符串常量池中创建对象,并将对象的内存地址赋值给str1 
  String str2=new String("aaaa");  //aaaa已在常量池中存在,将常量池中的字符串赋值给新的对象
  String str3=new String();
  str3="bb";            //在常量池中创建新的字符串"bb",并将其赋值给str3

  注意:1.对于java程序中的字符串直接常量,JVM会使用一个字符串缓存池来保存它们。当第一次使用某个字符串直接常量时,JVM会将它放入字符串池中进行缓存。

     2.使用new操作创建的字符串对象不指向字符串池中的对象。

2.字符串类String是Object下的直接子类,并且是final的,意味着不可继承。

3.字符串构造方法有很多,常用的有无参的和传一个字符串的构造方法,另外也有传一个字符型数组,byte型数组等等的构造方法。

3.常用方法。

charAt(int index),返回索引下标位子的字符。(字符串底层是一个char类型的数组,下表从0开始)
    compareTo(String
    concat(String
    contains(CharSequence
    copyValueOf(char[] data),是一个静态的方法,将一个字符数组转化为一个字符串返回回来。
    endsWith(String
    equals(Object
    equalsIgnoreCase(String
    hashCode(),返回字符串的哈希码,对两个同值的字符串来说,hash码都是一样的,用equals方法比较时返回是true。
    indexOf(String str),返回某个子串在字符串中第一次出现的位子。
    intern(),返回该字符串在字符串缓存池中相同值的对象,若没有回创建一个再返回。
    isEmpty(),判断是否为空,是返回true。
    lastIndexOf(String
    length(),返回该字符串的长度。
    replace(char oldChar, char newChar),替换字符串中的字符,并返回一个新串,不会对原来的字符串进行改变。
    replaceAll(String regex, String
    split(String regex),按某字符串为界限左右拆分,分为多个子串后返回一个字符串数组 String[]。
    startsWith(String
    substring(int beginIndex, int endIndex),截取子串。
    toCharArray(),将该字符串作为一个字符型数组返回。
    toLowerCase(),将字符串中的字母变成小写输出。
    toUpperCase(),将字符串中的字母变成大写输出。
    trim(),去掉前后空格后返回,不会对原来的字符串进行改变。
    valueOf(),是一个静态的方法,将其他类型转化为字符串类型,有多个重载的方法,参数可以是基本数据类型,字符串数组以及对象类型。