<!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 - F 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 F 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/F-class.html">F</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/F-class.html">F</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/F-class.html">F</a></h5>

    <ol>
    
    
    
      <li class="section-title"><a href="ex/F-class.html#constructors">Constructors</a></li>
      <li><a href="ex/F/F.html">F</a></li>
    
      <li class="section-title inherited">
        <a href="ex/F-class.html#instance-properties">Properties</a>
      </li>
      <li class="inherited"><a href="ex/F/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="ex/Dog/isImplemented.html">isImplemented</a></li>
      <li class="inherited"><a href="ex/Dog/name.html">name</a></li>
      <li class="inherited"><a href="ex/F/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="ex/F-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="ex/Dog/operator_equals.html">operator ==</a></li>
    
      <li class="section-title"><a href="ex/F-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="ex/Dog/foo.html">foo</a></li>
      <li class="inherited"><a class="deprecated" href="ex/Dog/getClassA.html">getClassA</a></li>
      <li><a href="ex/F/methodWithGenericParam.html">methodWithGenericParam</a></li>
      <li class="inherited"><a href="ex/F/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="ex/F/test.html">test</a></li>
      <li class="inherited"><a href="ex/Dog/testGeneric.html">testGeneric</a></li>
      <li class="inherited"><a href="ex/Dog/testMethod.html">testMethod</a></li>
      <li class="inherited"><a href="ex/F/toString.html">toString</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>
