为了账号安全,请及时绑定邮箱和手机立即绑定

使用equals出现的问题

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

car{obj1obj2,obj3};

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

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

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

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


正在回答

3 回答

http://img1.sycdn.imooc.com//56921f0e0001760003250155.jpg

箭头指向的区域有问题

0 回复 有任何疑惑可以回复我~

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

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

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

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

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

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

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

0 回复 有任何疑惑可以回复我~

使用断点测试试试。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530554    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

使用equals出现的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信