日期:2014-05-20  浏览次数:20614 次

请教大家一个简的问题,但是还是要请高手进来帮忙.谢谢了
class   A
{
public   static   void   main(String   []   args)
{
//第一个疑问:String类中的这个方法是这样定义说明的.
//boolean   equals(Object   obje);既然参数为Object类型.
//请问一下我传入int类型怎么会出错啊?是不是在这个方法内的 "拆箱 ",出错呢?
//可不可以这么讲呢?而 "装箱 "是没有问题的.

String   i= "100 ";
int   j=200;
System.out.println(i.equals(j));
}
}

------解决方案--------------------
要分清基本类型和引用类型的区别,你要先弄明白“指针”这个概念,算了画张图吧,你就会明白的。

下图中的框表示内存地址空间。

例如:int k = 5;
+-----+    +-----+
| k | -----> | 5 |
+-----+    +-----+

直接将 5,存放到了 k 所指向的地址空间。

而引用类型就不是这样的了,而是还要再指向一块地址空间。