/** * このキーフレーズと他のキーフレーズを比較します.<br> * このキーフレーズの重要度の方が大きい場合は正の数値, このキーフレーズの重要度の方が小さい場合は負の数値, 重要度が等しい場合はキーフレーズ文字列の自然順序を比較した結果, * キーフレーズ文字列も等しい場合は0を返します. 引数としてnullが指定された場合,NullPointerExceptionをスローします. * * @param another 比較対象のキーフレーズ * @return 比較結果 */ @Override public int compareTo(final KeyPhrase another) { if (another == null) { throw new NullPointerException(); } else if (score == another.getScore()) { return value.compareTo(another.getValue()); } else { return score - another.getScore(); } }
/** * このキーフレーズと他のオブジェクトの同一性を比較します. 引数で指定されたオブジェクトが{@link KeyPhrase}であり, * このキーフレーズと等しいキーフレーズ文字列と重要度を持つ場合trueを, そうでない場合はfalseを返します. * * @param anotherObject 比較対象のオブジェクト * @return 比較結果 */ @Override public boolean equals(Object anotherObject) { if (this == anotherObject) { return true; } else if (anotherObject instanceof KeyPhrase) { final KeyPhrase another = (KeyPhrase) anotherObject; return value.equals(another.getValue()) && score == another.getScore(); } else { return false; } }