首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求救高手!该如何解决

2012-02-22 
求救高手!急importjava.lang.ref.WeakReference/***Classtoresearchstrings.*constantstringlikeAAA wo

求救高手!急
import   java.lang.ref.WeakReference;
/**
  *   Class   to   research   strings.  
  *   constant   string   like   "AAA "   won 't   be   reclaimed   while   instance   created   by   new   will.  
  */
public   class   StringResearch   {

public   static   void   main(String[]   args)   {
String   a   =   "AAA ";  
String   b   =   new   String( "AAA ");  

WeakReference   wra   =   new   WeakReference(a);  
WeakReference   wrb   =   new   WeakReference(b);  

a   =   null;  
b   =   null;  

System.gc();  

System.out.println(wra.get());  
System.out.println(wrb.get());  
}

}

程序输出如下
AAA
null

根据以上结果,请说明通常情况下如何定义新的String变量比较好,并说明理由。


[解决办法]
我记得应该是String a = "AAA "; 这个方法比较好,两个对象a, "AAA "。
String b = new String( "AAA "); 据说是多创建一个对象,3个对象a, "AAA "和引用 "AAA "的对象。

[解决办法]
1楼正解
[解决办法]
String a = "AAA ";
String b = new String( "AAA ");
一般前面的好
a是一个引用
b是个内存空间

热点排行