У меня есть проблема с воронкой guava, я прочитал эту статью https://code.google.com/p/guava-libraries/wiki/HashingExplained и другие, но я не знаю, как использовать воронку, когда мой класс содержит не только примитивные типы.Google Guava Hashing
Funnel<Person> personFunnel = new Funnel<Person>() {
@Override
public void funnel(Person person, PrimitiveSink into) {
into
.putInt(person.id)
.putString(person.firstName, Charsets.UTF_8)
.putString(person.lastName, Charsets.UTF_8)
.putInt(birthYear)
//.putObject(myObject,myObjectFunnel);I want to do something like this
}
};
после мне нужно сделать, как этот
HashFunction hf = Hashing.md5();
HashCode hc = hf.newHasher()
.putObject(person, personFunnel)
.hash();
класса PrimitiveSink не метод putObject, только класс Hasher имеет его. Я могу преобразовать myObject в массив байтов и использовать метод putBytes, но, вероятно, кто-то знает лучший подход.
о, это действительно хорошая идея, спасибо. – Dominic