旅游网站建设方案书,网络seo公司,网站ipc备案,淮南建设公司网站1、String字符串实例化String对象#xff1a;(1)直接赋值#xff0c;如#xff1a;String strhello;(2)使用关键字 new#xff0c;如#xff1a;String strnew String(hello);由图可知#xff1a;使用 new 的方式在堆内存中开辟了两个空间#…1、String字符串实例化String对象(1)直接赋值如String strhello;(2)使用关键字 new如String strnew String(hello);由图可知使用 new 的方式在堆内存中开辟了两个空间第一个 hello对象 str 没有指向无用等待回收第二个 hello被 str 指向有用。所以 直接赋值(只开辟了一个空间) 的方式更常用和合理可以节省一些空间。字符串的内容不可更改如2、String字符串常用方法String字符串的方法较多可以根据API给出的方法去做测试下面是常用方法(1)字符串长度length() 「数组中的是 length 属性」(2)字符串转换数组toCharArray()(3)从字符串中取出指定位置的字符charAt()(4)字符串与byte数组的转换getBytes()(5)过滤字符串中存在的字符indexOf() 返回指定字符在字符串中第一次出现处的索引如果此字符串中没有这样的字符则返回 -1。(可以用在判断多位数是否包含某个数字时先转成string再判断)(6)去掉字符串的前后空格trim() 「空格易影响到对字符串的判断需适时去掉」(7)从字符串中取出子字符串subString()(8)大小写转换toLowerCase() toUpperCase()(9)判断字符串的开头结尾字符startWith() endsWith()(10)替换String字符串中的一个字符replace()3、StringBuffer的常用方法append() insert() replace() indexOf()StringBuffer类的应用为什么有的时候要用StringBuffer而不用StringString是不可变的所以要对String作改动不能直接改那个String本身而是要创建新的String所以如果改动次数多用String就效率不高而StringBuffer(如果是单线程则建议用StringBuilder不用考虑线程安全性效率更高点)。有朋友说1.5后StringBuffer和String的拼接性能差不多则不敢苟同如下测试在我的机器上用JDK1.8测试1 public classdemo {2 public static voidmain(String[] args) {3 long l System.currentTimeMillis();4 String s ;5 for (int i 0; i 100000; i) {6 s q;7 }8 System.out.println(System.currentTimeMillis() -l);9 System.out.println(s.substring(0, 1));1011 l System.currentTimeMillis();12 StringBuffer sb newStringBuffer();13 for (int i 0; i 100000; i) {14 sb.append(q);15 }16 System.out.println(System.currentTimeMillis() -l);17 System.out.println(sb.toString().substring(0, 1));18 }19 }输出3870q3q也就是做10万次拼接String要3.87秒而StringBuffer则只要0.003秒差别还是相当大的。(JDK1.6有9s多的差距)4、StringBuilder一个可变的字符序列该类被设计作用StringBuffer的一个简易替换用在字符串缓冲区被单个线程使用的时候建议优先考虑该类速度比StringBuffer要快但如果涉及到线程安全方面建议使用StringBuffer常用方法append() insert() …