All Downloads are FREE. Search and download functionalities are using the official Maven repository.

java.util.AbstractMapEntry Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2008 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package java.util;

import static java.util.Utility.equalsWithNullCheck;

/**
 * Basic {@link Map.Entry} implementation that implements hashCode, equals, and
 * toString.
 */
abstract class AbstractMapEntry implements Map.Entry
{

	@Override
	public final boolean equals(Object other)
	{
		if (other instanceof Map.Entry)
		{
			Map.Entry entry= (Map.Entry) other;
			if (equalsWithNullCheck(getKey(), entry.getKey()) && equalsWithNullCheck(getValue(), entry.getValue()))
			{
				return true;
			}
		}
		return false;
	}

	/**
	 * Calculate the hash code using Sun's specified algorithm.
	 */
	@Override
	public final int hashCode()
	{
		int keyHash= 0;
		int valueHash= 0;
		if (getKey() != null)
		{
			keyHash= getKey().hashCode();
		}
		if (getValue() != null)
		{
			valueHash= getValue().hashCode();
		}
		return keyHash ^ valueHash;
	}

	@Override
	public final String toString()
	{
		return getKey() + "=" + getValue();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy