易截截图软件、单文件、免安装、纯绿色、仅160KB

java中String与StringBuffer的区别

在java中有3个类来负责字符的操作。
 
1.Character 是进行单个字符操作的,
 
2.String 对一串字符进行操作。不可变类。
 
3.StringBuffer 也是对一串字符进行操作,但是可变类。
 
String:
是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String 是final类,即不能被继承.
 
StringBuffer:
是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象
它只能通过构造函数来建立,
StringBuffer sb = new StringBuffer();
note:不能通过付值符号对他进行付值.
sb = "welcome to here!";//error
对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer
中付值的时候可以通过它的append方法.
sb.append("hello");
 
字符串连接操作中StringBuffer的效率要比String高:
 
String str = new String("welcome to ");
str += "here";
的处理步骤实际上是通过建立一个StringBuffer,让侯调用append(),最后
再将StringBuffer toSting();
这样的话String的连接操作就比StringBuffer多出了一些附加操作,当然效率上要打折扣.
 
并且由于String 对象是不可变对象,每次操作Sting 都会重新建立新的对象来保存新的值.
这样原来的对象就没用了,就要被垃圾回收.这也是要影响性能的.
 
看看以下代码:
将26个英文字母重复加了5000次,
 
        String tempstr = "abcdefghijklmnopqrstuvwxyz";
        int times = 5000;
        long lstart1 = System.currentTimeMillis();
        String str = "";
        for (int i = 0; i < times; i++) {
            str += tempstr;
        }
        long lend1 = System.currentTimeMillis();
        long time = (lend1 - lstart1);
        System.out.println(time);


相关文档:

Java谜题1 1奇数性

下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转吗?
public static boolean isOdd(int i){
return i % 2 == 1;
}
奇数可以被定义为被2整除余数为1的整数。表达式 i % 2 计算的是 i 整除 2 时所产生的余数,因此看起来这个程序应该能够正确运转。遗憾的是,它不能;它在四分之一的时间里返回� ......

Java实现MD5加密解密类

转载请注明:来自http://blog.csdn.net/M_ChangGong/ 作者:张燕广
Java实现MD5加密以及解密类,附带测试类,具体见代码。
MD5加密解密类——MyMD5Util,代码如下:
package com.zyg.security.md5;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import ja ......

Java笔试题:HashMap和HashTable的区别

今天参加网龙笔试,一题是关于HashMap和HashTable的区别,答的不好,回来赶紧学习学习....
HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。 
1.HashTable的方法是同步的,HashM ......

如何用命令行运行java程序及输入main函数参数的输入

前提:JDK在环境变量里有配置 1.首先建个工程Test(假如放于D:\java)将src目录下的文件拷贝到classes目录下 2.运行里输入cmd->回车 3.输入D:->回车 4.输入cd java回车(cd未打开文件夹) 5.输入cd test->回车 6.输入cd classes->回车 7.输入dir->回车(dir为显示该目录下的所有文件) 8.对每个.java� ......

学JAVA需要掌握的技术及流程


学JAVA需要掌握的技术及流程
对于java初学者来说庞大的Java语言不知到从哪里入手开始学习,也不知道都要学些什么才能符合企业的要求,以下是java私塾根据技术的更新而调整的最新教学内容及流程,供大家参考。
1.java的基础知识
不要被新技术迷惑,所谓万变不离其宗,新技术都是基于java的基础之上,如果基础不扎实,对 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号