Java中StringBuffer字符串缓冲类和System,RunTime类等

来源:互联网 发布:学软件好找工作吗 编辑:程序博客网 时间:2024/04/29 16:32

一.StringBuffer字符串缓冲类

字符串的特点:字符串是常量,它们的值在创建之后不能更改。
字符串的内容一旦发生了改变,那么马上会创建一个新的对象。

注意:字符串的内容不宜频繁修改,因为一旦修改马上就会创建一个新的对象。
所以如果要频繁修改字符串的内容,建议使用字符串缓冲类(StringBuffer)。

StringBuffer 其实就是一个储存字符的容器。

其中StringBuffer底层是依赖一个字符串数组才能存储字符数据的,该字符串数组的默认初始值是16,如果字符数组的长度不够使用,容量自动增长一倍。

1.StringBuffer所具备方法:
a)增加

(1). append( boolean  b )(多种重载)可以添加任意类型的数据到容器中。(2). insert( int  offset,  boolean  b ) (多种重载)指定插入的索引值,插入对应的内容。

b) 删除

(3). delete( int  start ,  int  end)  根据指定开始与结束的索引值删除对应的内容。(4). deleteCharAt( int  index ) 根据指定的索引值删除一个字符。

c) 修改

(5). replace( int  start ,  int  end,  String  str) 将指定的开始与结束索引值之间内容替代成指定的内容。(6). reverse()       翻转字符串缓冲类的内容。  abc--->cba(7). setCharAt( int  index,  char  ch)   把指定索引值的字符替换指定的字符(8). substring( int  start,  int  end)    根据指定的索引值截取子串(9). ensureCapacity(int  minimumCapacity)  指定StringBuffer内部的字符数组长度的。

d) 查看

(10).indexOf(String  str, int  fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。(11). lastIndexOf(String  str)   指定字符串最后一次出现的索引值(12). capacity()  查看当前字符数组的长度。(13). length() (14). charAt(int index)(15). toString()   把字符串缓冲类的内容转成字符串返回。

StringBuffer与StringBuilder的相同处与不同处:

相同点:

    1.两个类都是字符串缓冲类。    2.两个类的方法都是一致的。

不同点:

1.StringBuffer是线程安全的,操作效率低;StringBuilder是线程非安全的,操作效率高。2.StringBuffer是jdk1.0出现的,StringBuilder是jdk1.5的时候出现的。

推荐使用:StringBuilder,因为操作效率高。

二.System 系统类

(1)System类常用的方法:

1.arraycopy(Object  src, int  srcPos, Object  dest, int  destPos, int  length)     src - 源数组。    srcPos - 源数组中的起始位置。    dest - 目标数组。    destPos - 目标数据中的起始位置。    length - 要复制的数组元素的数量。    从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。2.currentTimeMillis()  获取当前系统系统。3.exit(int status)  退出jvm如果参数是0表示正常退出jvm,非0表示异常退出jvm。4.gc()    建议jvm赶快启动垃圾回收期回收垃圾。5.getenv(String name)   根据环境变量的名字获取环境变量。6.getProperty(String key)  获取指定键指示的系统属性7.finalize()  如果一个对象被垃圾回收器回收的时候,会先调用对象的finalize()方法。

三.RunTime类

该类类主要代表了应用程序运行的环境。

(1)该类常用的方法:

1.getRuntime()  返回当前应用程序的运行环境对象。2.exec(String command) 根据指定的路径执行对应的可执行文件3.freeMemory()  返回Java虚拟机中的空闲内存容量。  以字节为单位4.maxMemory()  返回Java虚拟机试图使用的最大内存容量5.totalMemory()   返回 Java 虚拟机中的内存总量

四.Math数学类

该类主要是提供了很多数学公式。

(1)该类的常用方法:

1.abs(double a)    (多种重载)获取绝对值2.ceil(double a)   向上取整3.floor(double a)   向下取整4.round(float a)    四舍五入5.random()  产生一个随机数。大于等于0.0且小于1.0的伪随机double值

五.Random随机数类

此类的实例用于生成伪随机数流。
例如:

Random random = new Random();int randomNum = random.nextInt(10)+1; //产生 的 随机数就是0-10之间

//需要四个随机数,通过随机数获取字符数组中的字符,

    for(int i  = 0 ; i< 4 ; i++){        int index = random.nextInt(arr.length);  //产生的 随机数必须是数组的索引值范围之内的。        sb.append(arr[index]);        }
1 0
原创粉丝点击