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));
}
}

解决方案 »

  1.   

    int是基本数据类型,不是对象,你要传也要传入Integer,明白?
      

  2.   

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

  3.   

    最好是把i和j的值都为200
    这样比较容易看出效果
    System.out.println(i.equals(new Integer(j).toString()));
    可以这样小改一下
      

  4.   

    谢谢你的回答,
    晕了晕了,请问何为基本数据类型/你千万别笑话我啊,我学的是化学专业,现在自学java没有老师指点,很难啊.
      

  5.   

    char, byte, short, int, long, float, double, booleanJava 中只存在这八个基本类型,也就是说不是通过对象方式来引用存储值的,而采取直接存储的。挺佩服楼主,业余还自学 Java,挺不容易的。
      

  6.   

    特别感谢bao110908(bao)(bao)(讨厌蟑螂) (
      

  7.   

    直接给你String 里这个方法的源码得了。
    public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = count;
        if (n == anotherString.count) {
    char v1[] = value;
    char v2[] = anotherString.value;
    int i = offset;
    int j = anotherString.offset;
    while (n-- != 0) {
        if (v1[i++] != v2[j++])
    return false;
    }
    return true;
        }
    }
    return false;
        }
      

  8.   

    java是一种面向对象语言,java中的类把方法与数据连接在一起,并构成了自包含式的处理单元.但在java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相关的方法,java为每个基本类型都提供了包装类,这样,我们便可以把这些基本类型转化为对象来处理了.这些包装类有:Boolean,Byte,Short,Character,Integer,Long,Float,Void等.  值得说明的是,java是可以直接处理基本类型的,但是在有些情况下我们需要将其作为对象来处理,这时就需要将其转化为包装类了.所有的包装类(Wrapper Class)都有共同的方法,他们是:(1)带有基本值参数并创建包装类对象的构造函数.如可以利用Integer包装类创建对象,Integer obj=new Integer(145);(2)带有字符串参数并创建包装类对象的构造函数.如new Integer("-45.36");(3)生成字符串表示法的toString()方法,如obj.toString().(4)对同一个类的两个对象进行比较的equals()方法,如obj1.eauqls(obj2);(5)生成哈稀表代码的hashCode方法,如obj.hasCode();(6)将字符串转换为基本值的 parseType方法,如Integer.parseInt(args[0]);(7)可生成对象基本值的typeValue方法,如obj.intValue();  在一定的场合,运用java包装类来解决问题,能大大提高编程效率. 
      

  9.   

    要分清基本类型和引用类型的区别,你要先弄明白“指针”这个概念,算了画张图吧,你就会明白的。下图中的框表示内存地址空间。例如:int k = 5;
    +-----+    +-----+
    | k | -----> | 5 |
    +-----+    +-----+直接将 5,存放到了 k 所指向的地址空间。而引用类型就不是这样的了,而是还要再指向一块地址空间。