A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 工善器   /  2013-10-27 10:11  /  3191 人查看  /  23 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

课程大纲

        第一天(2013年10月22日  20:30-22:30):基础知识
Eclipse高级应用(做过几年的老鸟也未必知道)
面试必考知识点(String、正则表达式)

第二天(2013年10月24日  20:30-22:30):线程
多种开启线程的方式及原理
多种同步、通信方式的区别及利弊

第三天(2013年10月26日  20:30-22:30):集合
Collection详解(List和Set的区别和不同)
Map详解(各种Map的应用场景)

第四天(2013年10月28日  20:30-22:30):IO
字节流和字符流究竟怎么用
File类以及文件夹递归

第五天(2013年10月30日  20:30-22:30):网络编程
UDP群发数据、TCP多线程服务器
黑马相关问题答疑互动
回复 使用道具 举报
收藏了!希望楼主持续更新啊,在19楼说的很对,感觉一直困在一个知识点,总感觉放不开,所以我也是尽量看懂每天每节的视频并亲手敲上一遍,不懂的现在也没太非要纠结,到学习后面某个知识点时你可能一下就明白了。最后毅力是一方面,没有系统回顾复习也是学习的模模糊糊的主因,等学习完25天课程再回头知识点 的复习应该会感觉好很多。现在GUI学习,加油!
回复 使用道具 举报
黑马说要考string的,这个string怎么考嫩??不知道,今天随便写一段
一个String对象的长度是固定的,你不能过分改变它的内容,比如,增加长度到过长,或者是附加新的字符至String对象中。
您也许会使用+来串联字符串以达到附加新字符或字符串的目的,但+会产生一个新的String实例。
如果程序对这种附加字符串的需求很频繁,那你就更不能这样做了,算算你产生了多少string吧。
对象的生成需要内存空间与时间,不断地产生String实例是一个没有效率的行为,讲究高效的java肯定不会只有一个string来抵挡这样的问题,
我们最好是能重复运用一个对象,StringBuilder 和Stringbuffer 应运而生。
stringBuilder很不错的,完全可以替代string,最主要的是它的效率高

//必须先实例化一个
stringBuilder sBuilder = new stringBuilder();
//StringBuilder它可以自由拼接易于阅读。
例如,执行SQL语句:
sBuilder.Append("select * from tb1");
sBuilder.Append("where id=1");

因为是自由拼接,所以上面同等于:
strng sBuilder = "select * from tb1 where id=1";
StringBuilder 受到欢迎,还因为它能在string 字符串,数组,之间来回转换游刃有余。
比如传智的经典例题:
package it.cast.java.util;
/*
使用StringBuilder或者StringBuffer;
将字符串“ABCDE”;
转变为“A,B,C,D”;
这是一个黑马的入学考试题,
*/
public class StringBuilder2{
        public static void main(String[] args)
        {
                //先把那个abcde写入到StringBuilder里面
               
                StringBuilder s=new StringBuilder("ABCDE");
                //删除掉那个多余的字符e
                s.deleteCharAt(4);
                /*将删除后的Stringbuilder类型 转换为string类型,
                我们当时为什么转换为Stringbuilder 类型,就是他接收方便,
                向String类型转换的时候方便。
                这里,将stringbuilder类型,转换为string类型,在数组排序。
                新建一个数组s1
                */
       
                char[] s1=s.toString().toCharArray();
                //再建一个stringbuilder 类型,用来接收排序好的数组,向Stringbuilder类型的转换
                StringBuilder ss=new StringBuilder();
                for(char c:s1){
                        ss.append(c).append(",");
                }
                //因为每一个字符后面都有一个逗号,而按题目要求,最后一个逗号是不能要的。
                ss.deleteCharAt(ss.length()-1);
                System.out.println(ss);
                //直接输出ss,就行了。
        }
}

J2SE   5.0提供java.lang.StringBuilder类,使用这个类所产生的对象默认会有16个字符的长度,您也可以自行指定初始长度。如果附加的字符超出可容纳的长度,则StringBuilder对象会自动增加长度以容纳被附加的字符。如果有频繁作字符串附加的需求,使用StringBuilder会让程序的效率大大提高。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 楼主辛苦了!

查看全部评分

回复 使用道具 举报
工善器 发表于 2013-11-3 17:13
黑马说要考string的,这个string怎么考嫩??不知道,今天随便写一段
一个String对象的长度是固定的,你不 ...

很意外,很惊喜,谢谢版主的技术分,哈哈哈
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马