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

java中的String池

 
 
在进入我们今天的话题前,先来看看下面这段代码,你知道它的结果吗?
程序代码
public class StringTest1{
  public static void main(String[] args) {
     String str1 = "abc";
     String str2 = "abc";
     System.out.println(str1 == str2);
   }
}
   正确答案应该是true。再来看下面这段代码:
程序代码
public class StringTest2 {
   public static void main(String[] args) {
     String str1 = new String("abc");
     String str2 = new String("abc");
     System.out.println(str1 == str2);
  }
}
   正确答案是false。
   众所周知,java的String是不可改变的字符串对象。为了提高效率,java为String类提供了串池。正如大家所看到的那样,在StringTest1中就使用了串池。当你重新声明一个String型变量为abc时,将使用串池里原来的那个abc,而不重新分配内存,也就是说,str2与str1将会指向同一块内存。所以结果为true。在StringTest2中使用了普通对象的声明方式,系统将会为str1和str2各分配一块内存。所以结果为false。


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

《欲为Java技术大牛所需的25个学习要点》读后感

今日读到csdn的新闻《欲为Java技术大牛所需的25个学习要点》,了解要做一个Java技术大牛可不是一般一般的,特收录在此:以鞭策自己不断学习:
1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams。
2. 你需要学习Java语言 ......

jakarta regexp (java struts正则表达式)


  Character Classes
      [abc]                  Simple character class
      [a-zA-Z]            ......

java exception java异常汇总(3)

java exception 解决方案 - 我的异常网|异常|exception   791 - java.lang.NoSuchMethodError 792 - RuntimeException 793 - org.hibernate.exception.SQLGrammarException 794 - Internal Error 795 - 自定义异常 796 - org.dom4j.DocumentException 797 - java.net.SocketException 798 - Exception对象 799 - SQLE ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号