问答详情
源自:8-1 什么是类和对象

使用equals出现的问题

我首先定义了一个对象数组

car{obj1obj2,obj3};

然后我在for循环里使用if通过equals判断对象中的元素

for(int i=0;i<car.length;i++){

if(car[i].equals("obj1")).......

然后编译器就开始报错  这是什么原因呢  求大神指教


提问者:猛禽斩侧卫 2016-01-01 13:23

个回答

  • Deny_小田
    2016-01-10 17:06:36

    http://img.mukewang.com/56921f0e0001760003250155.jpg

    箭头指向的区域有问题

  • 是王小二呀
    2016-01-01 13:57:19

    我不知道你的源代码  但是这里出现的问题是:

    第一:car[i].equals("obj1")中:obj1是对象,而不是字符串,所以【错误一:多了双引号】;

               car[i].equals("obj1")中:修改以上错误,遍历开始后仅仅i=1时,

                                                        car[1].equals(obj1)=true;所以:【错误2:语法本身就是错的】

    第二:解决办法是:将obj1\2\3三个对象装入另外一个数组;然后再if语句中写入你的条件;

                此时:【1.避免了语法错误】,【2.避免了类型不匹配错误】

    结论:当然若你的语句都正确,则结果是true。

  • weiyihu
    2016-01-01 13:49:17

    使用断点测试试试。