提问之星
2015-11-24 05:29
采纳率: 99.8%
浏览 2.4k
已采纳

如何理解"add".equals( type)这条语句

如何理解"add".equals( type)这条语句,type是一个类吗," add"是一个实例吗,equals和instanceof有什么区别和联系么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 鼬佐 2015-11-24 05:41
    已采纳

    equals通常用来比较两个字符串是否相等,还可以通过重写equals方法来比较两个对象是否相等,如果add是一个对象,和它相比的type也是对象(不是类),
    而instanceof 是用来表示 一个对象是否是某个类的对象,例如 a instanceof A,前面是对象,后面是类。

    点赞 打赏 评论
  • DevilNoV 2015-11-24 05:30

    这条语句是俩字符串的比较,instanceof是俩对象的比较

    点赞 打赏 评论
  • blownewbee 2015-11-24 05:36

    两个字符串比较。type应该是另一个字符串。一般写type.equals("add")。

    点赞 打赏 评论
  • 学者无涯风 2015-11-24 05:40

    equals比较两字符串内容是否相等,instanceof通常用在多态中,子类对象付给父类对象,想调用子类的方法,用instanceof判断一下是否能正确转换

    点赞 打赏 评论
  • 坛主叭叭叭 2015-11-24 06:45

    这条语句的作用是比较两个字符串的内容是否相等。“add”是一个字符串,type是另外一个字符串,但是需要给它赋值。
    instanceof用来判断一个对象是否是某个类型(类、接口、抽象类)的实例;

    点赞 打赏 评论
  • GrowingDarker 2015-11-26 08:41

    对象 A.equals(B) 比较 时,会判断 对象是否完全相等 , 而A instanceof B 比较时,只要 A 对象 是 对象 B 的 一个 实现类创建的对象即可 ,比如
    A 是 C 的 实例对象 , C继承了 B。 则 A instanceof B 返回的 是 true ;而如果用 A.equals(B) 则 返回 false;
    而 你上述的写法 , 是 在对字符串进行 比较 , 意思 是 字符串"add" 是否 等 于 type 对象的值。 通常我们会把固定值 放到 equals前方,这样
    写 可以 方式 type 是 null 值 抛出空指针 异常。如有疑问,欢迎提问

    点赞 打赏 评论

相关推荐 更多相似问题