<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="API docs for the operator == method from the CatString class, for the Dart programming language.">
  <title>operator == method - CatString class - ex library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="../..">

  <link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Code+Pro|Roboto:500,400italic,300,400' type='text/css'>
  <link rel="stylesheet" href="static-assets/prettify.css">
  <link rel="stylesheet" href="static-assets/css/bootstrap.min.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">

  <!-- Do not remove placeholder -->
  <!-- Header Placeholder -->
</head>

<body>

<div id="overlay-under-drawer"></div>

<header class="container-fluid" id="title">
  <nav class="navbar navbar-fixed-top">
    <div class="container">
      <div class="row">
        <div class="col-sm-12 contents">
          <button id="sidenav-left-toggle" type="button">&nbsp;</button>
          <ol class="breadcrumbs gt-separated hidden-xs">
            <li><a href="index.html">test_package</a></li>
            <li><a href="ex/ex-library.html">ex</a></li>
            <li><a href="ex/CatString-class.html">CatString</a></li>
            <li class="self-crumb">operator ==</li>
          </ol>
          <div class="self-name">operator ==</div>
          <form class="search navbar-right" role="search">
            <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
          </form>
        </div> <!-- /col -->
      </div> <!-- /row -->
    </div> <!-- /container -->
  </nav>

  <div class="container masthead">
    <div class="row">
      <div class="col-sm-12 contents">
        <ol class="breadcrumbs gt-separated visible-xs">
          <li><a href="index.html">test_package</a></li>
          <li><a href="ex/ex-library.html">ex</a></li>
          <li><a href="ex/CatString-class.html">CatString</a></li>
          <li class="self-crumb">operator ==</li>
        </ol>
        <div class="title-description">
          <h1 class="title">
            <span class="kind">method</span> operator ==
          </h1>
        </div>
      </div> <!-- /col -->
    </div> <!-- /row -->
  </div> <!-- /container -->

</header>

<div class="container body">
  <div class="row">

  <div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <h5><a href="index.html">test_package</a></h5>
    <h5><a href="ex/ex-library.html">ex</a></h5>
    <h5><a href="ex/CatString-class.html">CatString</a></h5>

    <ol>
      <li class="section-title"><a href="ex/CatString-class.html#constructors">Constructors</a></li>
      <li><a href="ex/CatString/CatString.html">CatString</a></li>
    
      <li class="section-title inherited">
        <a href="ex/CatString-class.html#instance-properties">Properties</a>
      </li>
      <li class="inherited"><a href="ex/CatString/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="ex/CatString/isEmpty.html">isEmpty</a></li>
      <li class="inherited"><a href="ex/CatString/isNotEmpty.html">isNotEmpty</a></li>
      <li class="inherited"><a href="ex/CatString/length.html">length</a></li>
      <li class="inherited"><a href="ex/CatString/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="ex/CatString-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="ex/CatString/clear.html">clear</a></li>
      <li class="inherited"><a href="ex/CatString/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="ex/CatString/toString.html">toString</a></li>
      <li class="inherited"><a href="ex/CatString/write.html">write</a></li>
      <li class="inherited"><a href="ex/CatString/writeAll.html">writeAll</a></li>
      <li class="inherited"><a href="ex/CatString/writeCharCode.html">writeCharCode</a></li>
      <li class="inherited"><a href="ex/CatString/writeln.html">writeln</a></li>
    
      <li class="section-title inherited"><a href="ex/CatString-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="ex/CatString/operator_equals.html">operator ==</a></li>
    
    
    
    </ol>

  </div><!--/.sidebar-offcanvas-->

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">
    <section class="multi-line-signature">
      <span class="returntype">bool</span>
      <span class="name ">operator ==</span>(<wbr><span class="parameter" id="==-param-other"><span class="parameter-name">other</span></span>)
    </section>
    <section class="desc markdown">
      <p>The equality operator.</p>
<p>The default behavior for all <code>Object</code>s is to return true if and
only if <code>this</code> and <code>other</code> are the same object.</p>
<p>Override this method to specify a different equality relation on
a class. The overriding method must still be an equivalence relation.
That is, it must be:</p><ul><li>
<p>Total: It must return a boolean for all arguments. It should never throw
or return <code>null</code>.</p></li><li>
<p>Reflexive: For all objects <code>o</code>, <code>o == o</code> must be true.</p></li><li>
<p>Symmetric: For all objects <code>o1</code> and <code>o2</code>, <code>o1 == o2</code> and <code>o2 == o1</code> must
either both be true, or both be false.</p></li><li>
<p>Transitive: For all objects <code>o1</code>, <code>o2</code>, and <code>o3</code>, if <code>o1 == o2</code> and
<code>o2 == o3</code> are true, then <code>o1 == o3</code> must be true.</p></li></ul>
<p>The method should also be consistent over time, 
so whether two objects are equal should only change
if at least one of the objects was modified.</p>
<p>If a subclass overrides the equality operator it should override
the <code>hashCode</code> method as well to maintain consistency.</p>
    </section>
    
    

  </div> <!-- /.main-content -->

</div> <!-- row -->
</div> <!-- container -->

<footer>
  <div class="container-fluid">
    <div class="container">
      <p class="text-center">
        <span class="no-break">
          test_package 0.0.1
        </span>
        &bull;
        <span class="no-break">
          <a href="https://www.dartlang.org">
            <img src="static-assets/favicon.png" alt="Dart" title="Dart" width="16" height="16">
          </a>
        </span>
        &bull;
        <span class="copyright no-break">
          <a href="http://creativecommons.org/licenses/by-sa/4.0/">cc license</a>
        </span>
      </p>
    </div>
  </div>
</footer>

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/prettify.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>
<!-- Do not remove placeholder -->
<!-- Footer Placeholder -->

</body>

</html>
