常见类

作者: Suavitygogo | 来源:发表于2017-03-04 16:31 被阅读0次

    字符串:String,StringBuilder,StringBuffer

    String: 底层是char[],长度不可变(追加字符时,会重新开辟空间存储),实现了Comparable接口

    创建原理:

    1. 无论以何种方式创建String字符串,jvm首先会去查找String字符串缓存池是否存在相同的内容

    2. 使用new创建对象或包含变量的表达式创建String对象(除被final修饰的变量)时,都会在堆或栈区开辟空间。(运行期)

    3. 使用直接指定或者使用纯字符串串联来创建String对象,无论String缓冲池是否存在相同内容,都不会在堆栈区开辟空间。

    equal方法:重写父类Object的equal方法,仅比较字符串的内容是否相同,不比较地址。

    intern方法:在运行期动态的在方法区创建对象,先去String池中去找是否有相同内容的,如果有直接引用,否则再池中新增.

    spilt方法: 分割字符串,如果字符串中没有指定的分隔符,则返回String[]{原字符串}

    StringBuilder/StringBuffer: 默认分配16个字符长度,长度可变,继承AbstractStringBuilder类。

    StringBuilder:异步,效率高

    StringBuffer:同步线程安全

    三者比较:三者均被final修饰不可被继承,StringBuilder 效率高,耗时最短

    效率:StringBuilder > StringBuffer > String

    字符串处理类:StringTokenizer 字符串分隔解析:

    默认分隔符:“空格”,“制表符(‘\t’)”,“换行符(‘\n’)”,“回车符(‘\r’)”。

    常见方法:

    nextToken():返回当前位置到下一个分隔符之前的字符串。

    countTokens():分隔符总量

    Math:数字工具类

    产生随机数:Math.random()[0,1)之间的随机数

    Random:专业生产随机数

    new Random(可指定随机数范围).nextXxx(可指定随机数范围)

    相关文章

      网友评论

        本文标题:常见类

        本文链接:https://www.haomeiwen.com/subject/vykjgttx.html