易截截图软件、单文件、免安装、纯绿色、仅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。


相关文档:

java中的一个MyPoint方法

设计一个Circle类,其属性为原点(类型为类MyPoint)和半径,并为此类编写以下三个方法:
一、计算圆的面积的calArea()方法;
二、计算周长的calLength()方法;
三、boolean inCircle(MyPoint mp)方法,功能是测试作为参数的某个点是否在当前对象圆内(圆内,包括圆上返回true,在圆外返回false)。
程序:
clas ......

使用 Java Native Interface 的最佳实践

 Java™ 本机接口(Java Native Interface,JNI)是一个标准的 Java API,它支持将 Java 代码与使用其他编程语言编写的代码相集成。如果您希望利用已有的代码资源,那么可以使用 JNI 作为您工具包中的关键组件 —— 比如在面向服务架构(SOA)和基于云的系统中。但是,如果在使用时未注意某些事项,则 ......

java读取txt文本

  public List createArrayList(String FilePath,String FileName){
     List  list =new ArrayList();
  FileName=FilePath+"\\"+FileName;
  
  File file=new File(FileName);
  String encoding="GBK";//防止乱码 这编码需要根据自己的操 ......

Effective Java读书笔记

package chape8;
/**
* 第8章
* 第46條:
* for-each循環優先于for循環
* for(Element e : c)
* {
* dosomthing(e);
* }
* 这个是java1.5以上的版本的for循环的首先考虑的写法
* 以下是java1.5以前的寫法
*  for (Iterator it = c.iterator();it.hasNext();)
{ ......

Java Application 直接通过jndi连接数据库

 使用jar包:
 commons-pool-1.5.3.jar,tomcat-naming-common.jar,commons-pool-1.5.3-bin.zip,commons-dbcp.jar
 注意:jdbc 驱动要与数据库兼容.
 package test.comm;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Hashtable;
import javax.naming.InitialCont ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号