<!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="generator" content="made with love by dartdoc 0.8.2">
  <title>hashCode property - CatString class - ex library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="../..">

  <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro|Roboto:500,400italic,300,400' rel='stylesheet' 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">

  <meta name="description" content="API docs for the hashCode property from the CatString class, for the Dart programming language.">
  <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">hashCode</li>
          </ol>
          <div class="self-name">hashCode</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">hashCode</li>
        </ol>
        <div class="title-description">
          <h1 class="title">
            <span class="kind">property</span> hashCode
          </h1>
        </div>
        <ul class="subnav">
        </ul>
      </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#operators">Operators</a></li>
      <li class="inherited"><a href="ex/CatString/operator_equals.html">operator ==</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>
    </ol>

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

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">


      <section id="getter">
      
      <section class="multi-line-signature">
        <span class="returntype">int</span>
        <span class="name ">hashCode</span></section>
      
      <section class="desc markdown">
  <p>Get a hash code for this object.</p>
<p>All objects have hash codes. Hash codes are guaranteed to be the
same for objects that are equal when compared using the equality
operator <code>==</code>. Other than that there are no guarantees about
the hash codes. They will not be consistent between runs and
there are no distribution guarantees.</p>
<p>If a subclass overrides <code>hashCode</code> it should override the
equality operator as well to maintain consistency.</p>
</section>
</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/script.js"></script>
<!-- Do not remove placeholder -->
<!-- Footer Placeholder -->

</body>

</html>
