zoukankan      html  css  js  c++  java
  • "asd".equals(s)与s.equals("asd")为什么前者可避免NullPointerException

     下图为String源码

    讲上图中 if (  anObject instanceof Object)  改为if ( this instanceof Object && anObject instanceof Object) 后s.equals("asd")也可以避免NullPointerException

    以下代码为仿照仿照上图重写的一个方法 :

    public boolean equals(String str , Object anObject){
      
       if (str == anObject) {
          return true;
      }
      if ( str instanceof Object && anObject instanceof Object) {
          String anotherString = (String)anObject;
          int n = str.length();
          if (n == anotherString.length()) {
       char v1[] = str.toCharArray();
       char v2[] = anotherString.toCharArray();
       int i = 0;
       int j = 0;
       while (n-- != 0) {
           if (v1[i++] != v2[j++])
        return false;
       }
       return true;
          }
      }
      return false;
     }

    路漫漫其修远兮,吾将上下而求索
  • 相关阅读:
    AJAX
    Django(cookie和session)
    Django(分页)
    跨站请求伪造和csrf_token使用
    Django(ORM查询联系题)
    Django(ORM查询2)
    Django(ORM查询1)
    Django(ORM常用字段)
    复习
    第二次作业:卷积神经网络 part2
  • 原文地址:https://www.cnblogs.com/IT-WJ/p/3607553.html
Copyright © 2011-2022 走看看