java从入门到精通 第五章 字符串

今年一直比较懒,买的java相关的书籍也没有看.借着清明节的机会,想着把java从入门到精通这本书的 内容看下,特此记录下 看完之后的总结体会.

String类

  1. 字符串类是java最常用的对象,字符串对象中有着各种各样的api方法,能够在平时对字符串处理的时候有帮助,特此记录下

  2. String类对象的声明,String类对象的声明方式有以下几种
    String s=“xxx”;String s=new String(“xxx”);String s=new String(char[] x);
    主要是通过对象的构造方法来声明,可以通过传入字符串或者字符数组的方式声明.同时String类对象由final修饰 必须在创建string对象的同时 初始化,否则编译器会报错.

  3. 字符串的拼接:字符串对象处理中,经常需要将多个字符串进行拼接,或者字符串与其他基本数据类型进行拼接。 使用的都是+这种方式.String s=“11”+2。正是上面这种方式,能够这样是因为基本数据类型 都存在toString的方法,默认使用了toString将数据类型统一转换为String类型了。

  4. String常用的api方法:length()获取字符串的字符串长度,空格也占一个位置.
    indexof(String s);查询字符串s在当前字符串对象中 首次出现的位置
    lastindexof(String);查询字符串s在当前对象最后一次出现的位置.
    charAt(char s);查询字符s在当前字符串中出现的位置

  5. 字符串的操作:
    截取字符串:substring(int startIndex);截取字符串从startIndex位置开始后的所有字符.
    substring(int startIndex,int endIndex);截取字符串从startIndex位置开始后的到endIndex位置结束的所有字符.不包含endIndex这个位置的字符。(这一点很容易搞混
    trim();去除字符串中首位部分的空格(中间的空格不负责去掉,切记。所以感觉去除字符串中所有的空格使用replaceAll比较好

    replace(char old,char new);替换字符串中old字符为new字符.(记得replace方法应该重载了,对于字符及字符串应该都有支持。replaceAll是替换所有的字符串)

    startWith(String prefix);endWith(String suffix);判断字符串是否以某个字符串开头或者结尾.

    equals(String s)判断2个字符串对象 字符串内容是否相等. (这个经常与==搞混 ==是判断2个对象的引用类型 是否相等 说白了就是 是不是一个对象)

    compareTo(String otherstr);按照ASCII字符 比较2个字符串对象的值(这个方法在后面的基本类型的封装类经常用到 估计应该也是基于ASCII码做的比较.同时ASCII排序 在集合TreeMap中排序也是按照ASCII自小而大排的

    toLowerCase(String s);toUpperCase(String s);将字符串全部转换为小写或大写。
    split(String sign);根据sign值将字符串拆分为多个字符串数组.

  6. 格式化字符串
    String类的静态方法format(String format,Object args)用于格式化字符串
    常见的有日期和时间字符传格式化(虽然有SimpleDateFormat这种方法,但String类似Calendar日历类 肯定是有用的,比如获取当前日期之前使用的是TextFormat(Calendar.getInstance(),“yyyy-MM-dd”),现在有了这种方法直接使用String.format("%tf",new Date()).只不过格式化记起来不方便,所以用的比较少)例子如下

Date date=new Date();
 String s=String.format("%te",date);
  1. 正则表达式(正则表达式作为数字格式检查起着很重要的作用,就是经常容易忘

^开头 $结尾 ?0或者1个 * 0或者多个 + 1次或者多次

  1. 字符串生成器 StringBuilder
    之前知道这玩意,但是具体只知道个append方法,为什么这么用不大清楚。看到书中举例将10000次字符串拼接 使用+效率太慢 运行慢,而采用StringBuilder运行效率明显提高很多 很棒.

总结:所以这章主要讲了 字符串创建 拼接 字符串常用方法如equals 大小写转换 比较 查询字符串或者字符位置 截取字符串等,同时对于字符串的格式化 如利用时间或日期等也有一些涉及,最常用的主要是正则表达式及字符串生成器 如果在进行多个字符串拼接的时候 涉及效率方面 无疑选择字符串生成器StringBuilder更好。

你可能感兴趣的:(Java从入门到精通)