Вы также можете JAR-файлы классов, которые вы хотите добавить, и добавить JAR-файл в зависимости от сборки. Для меня это самое чистое решение. Конечно, внутренне JAR-файл должен иметь правильную структуру каталогов.
Щелкните правой кнопкой мыши в своем проекте и выберите Java Build Path, чтобы добавить новые зависимости.
Копирование в папку bin не будет работать очень хорошо, потому что оно предназначено для хранения результатов скомпилированных источников. Как только вы очистите что-нибудь, файл исчезнет.
Спасибо. Я изменил TCustomEqualityComparer.GetHashCode, и он работает так, как вы сказали:
function TCustomEqualityComparer.Equals(const Left, Right: string): Boolean;
begin
{$IFDEF UNICODE }
Result := (Left.ToUpper = Right.ToUpper);
{$ELSE }
Result := SameText(Left, Right);
{$ENDIF }
end;
function TCustomEqualityComparer.GetHashCode(const Value: string): Integer;
var s: string;
begin
s := {$IFDEF UNICODE } Value.ToUpper {$ELSE } UpperCase(Value) {$ENDIF };
Result := BobJenkinsHash(s[1], Length(s) * SizeOf(s[1]), 0);
end;
HashCode должен быть одинаковым для всех значений, возвращающих Equals = true! Попробуйте сделать значение Value в GetHashCode заглавным, прежде чем отправлять его в HashFunction.