<!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 aThingToDo class, for the Dart programming language.">
  <title>operator == method - aThingToDo 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/aThingToDo-class.html">aThingToDo</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/aThingToDo-class.html">aThingToDo</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/aThingToDo-class.html">aThingToDo</a></h5>

    <ol>
      <li class="section-title"><a href="ex/aThingToDo-class.html#constructors">Constructors</a></li>
      <li><a href="ex/aThingToDo/aThingToDo.html">aThingToDo</a></li>
    
      <li class="section-title">
        <a href="ex/aThingToDo-class.html#instance-properties">Properties</a>
      </li>
      <li><a href="ex/aThingToDo/what.html">what</a></li>
      <li><a href="ex/aThingToDo/who.html">who</a></li>
      <li class="inherited"><a href="ex/aThingToDo/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="ex/aThingToDo/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="ex/aThingToDo-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="ex/aThingToDo/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="ex/aThingToDo/toString.html">toString</a></li>
    
      <li class="section-title inherited"><a href="ex/aThingToDo-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="ex/aThingToDo/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>
