(十六)java中的String

来源:互联网 发布:淘宝怎么卖二手闲置 编辑:程序博客网 时间:2024/06/05 21:02
     String:字符串类型,是java中最常用的引用类型,String是不可变的,java.lang.String是由final修饰,此类不可被继承。
    String是不可变的,指的是字符串一旦创建,其对象不可改变,但是字符串引用是可以重新赋值的。
    java中的字符串在内存中采用unicode编码格式存储,任何一个字符对应两个字节的定长编码,不论中文还是英文。
    java中的静态字符串,即字面量、常量、常量连接的结果,是在常量池中创建的,并尽量使用同一个对象,重用静态字符串,提高性能。对于重复出现的字符串直接量,jvm会在常量池中查找,如果存在即返回该对象,否则在常量池中创建。
    使用new关键字创建字符串的时候,会直接创建新的对象,不会发生上边的重用。
    indexOf检索指定字符串在目标字符串中出现的第一次位置,java提供其他的重载方法,可以从指定位置开始检索,还可以指定检索的个数。lastIndexOf检索指定字符串在目标字符串中最后一次出现的位置。
    subString可以根据指定的位置截取子字符串,可以指定起始位置,如果只指定了一个位置,则默认从此位置截取到最后。
    trim可以用来去除字符串前后的空格,charAt返回字符串中指定位置的字符,startsWith检测一个字符串是否以指定字符串开头,endsWith检测一个字符串是否以指定字符串结尾。
    toUpperCase和toLowerCase来把小写字母转换成大写和把大写字母转换成小写,length方法获取字符串的长度。
    以上方法都是用对应的字符串后边加点加对应的方法和参数。
    valueOf把其他类型转换成字符串,用法是String.valueOf()。
    当我们用到的字符串需要改变时,就需要用到可变字符串类型,java提供了StringBuilder和StringBuffer两种,他们的用法几乎一样,区别是StringBuilder是非线程安全的,并发,性能稍快;而StringBuffer是线程安全的,同步,性能稍慢,通常会使用StringBuilder。
    他们几乎拥有基础字符串操作的所有常用方法,除此之外,还提供了append追加字符串,inser插入字符串,delete删除字符串,replace替换字符串,reverse字符串翻转等方法,其中delete和replace都可以指定开始和结束位置。
0 0