基础知识

常见类

2017-03-04  本文已影响0人  Suavitygogo

字符串: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(可指定随机数范围)

上一篇 下一篇

猜你喜欢

热点阅读